每当我向文件中添加新节点时,我在尝试在 XML 文件中维护我的格式时遇到问题。例如,如果我最初从头开始创建 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>
<UnprocessedFilename></UnprocessedFilename>
<SalesFilename></SalesFilename>
<FileReadDelay></FileReadDelay>
</Settings>
</Data>
但是,每当我向预先存在的文件中添加新节点时,我都会在文件底部得到以下未格式化的条目:
<?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>
<UnprocessedFilename></UnprocessedFilename>
<SalesFilename></SalesFilename>
<FileReadDelay></FileReadDelay>
<SEOFilename></SEOFilename><LBossFilename></LBossFilename><ProcessesFilename></ProcessesFilename></Settings>
</Data>
我添加新节点的代码如下所示:
Dim MyXML As New XmlDocument()
Dim MyXMLNode As XmlNode
MyXML.PreserveWhitespace = True
Try
MyXML.Load(SettingsXMLFile)
MyXMLNode = MyXML.SelectSingleNode("//Data/Settings/" & ElementName)
If Not MyXMLNode Is Nothing Then
MyXMLNode.InnerText = ElementValue.ToString
MyXML.Save(SettingsXMLFile)
Else
Dim XMLRoot As XmlElement = MyXML.SelectSingleNode("//Data/Settings")
Dim XMLChild As XmlElement = MyXML.CreateElement(ElementName)
XMLChild.InnerText = ElementValue
XMLRoot.AppendChild(XMLChild)
MyXML.Save(SettingsXMLFile)
End If
MyXMLNode = Nothing
MyXML = Nothing
想知道是否有人可以提供帮助,因为我不确定是什么导致文件丢失格式。提前致谢。