0
我正在尝试更新XML文档并替换单个节点的内容,但是,在保存XML文件后,我的格式将全部倾斜。正在更新XML节点更改XML格式化
这是我的代码:
Public Sub UpdateSettingsXML(ByRef ElementName As String, ByRef ElementValue As String)
Dim MyXML As New XmlDocument()
Dim MyXMLNode As XmlNode
MyXML.Load(SettingsXMLFile)
MyXMLNode = MyXML.SelectSingleNode("//Data/Settings/" & ElementName)
If Not MyXMLNode Is Nothing Then
MyXMLNode.InnerText = ElementValue.ToString
MyXML.Save(SettingsXMLFile)
End If
MyXMLNode = Nothing
MyXML = Nothing
End Sub
我原始的XML文件(之前我更新的节点)看起来是这样的:
<?xml version="1.0" encoding="utf-8"?>
<Data>
<Settings>
<DropBoxLocation></DropBoxLocation>
<ServerName></ServerName>
<DatabaseName></DatabaseName>
<Username></Username>
<Password></Password>
<OnlineFilename></OnlineFilename>
<OfflineFilename></OfflineFilename>
<EftposFilename></EftposFilename>
<BankFilename></BankFilename>
<POSFilename></POSFilename>
<ProcessesFilename></ProcessesFilename>
<FileReadDelay></FileReadDelay>
</Settings>
</Data>
但是,一旦我将XML文件保存我的格式看起来像这个:
<?xml version="1.0" encoding="utf-8"?>
<Data>
<Settings>
<DropBoxLocation>C:\Dropbox</DropBoxLocation>
<ServerName>
</ServerName>
<DatabaseName>
</DatabaseName>
<Username>
</Username>
<Password>
</Password>
<OnlineFilename>
</OnlineFilename>
<OfflineFilename>
</OfflineFilename>
<EftposFilename>
</EftposFilename>
<BankFilename>
</BankFilename>
<POSFilename>
</POSFilename>
<ProcessesFilename>
</ProcessesFilename>
<FileReadDelay>
</FileReadDelay>
</Settings>
</Data>
不知道我在做什么错,但我似乎无法找到任何关于这个网站的信息ssue。想知道是否有人可以帮助我。任何帮助,将不胜感激。
谢谢
感谢您的快速回复。 尝试您的示例并没有对输出产生任何影响,但是,将该值更改为true可以实现此效果。 'REM - 添加此行 MyXML.PreserveWhitespace = true 非常感谢您的帮助和快速响应。 – Riples 2013-03-19 06:59:09