每当我向文件添加新节点时,我都在尝试在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
想知道是否有人可以提供协助,因为我不确定导致文件丢弃格式的原因。 提前谢谢。
答案 0 :(得分:0)
我遇到了类似的问题。我试图更新服务器上现有的(格式良好的)xml文件。
以下代码示例位于javascript函数
中...
xml = '<?xml version="1.0" encoding="utf-8" ?>';
xml += '<root>';
xml += '<child_A>Hello World</child_A>';
xml += '<child_B>Good World</child_B>';
xml += '</root>';
...
然后在ASP文件中,我尝试使用appendChild方法将新的xml节点添加到现有xml的根节点。添加到我的xml文件中的新节点未格式化,就像您的示例一样。所有东西都像长条一样连在一起:(
经过数小时的研究和试验&amp;错误...
我的问题的解决方案......
...
xml = '<?xml version="1.0" encoding="utf-8" ?>';
xml += ' <root>';
xml += ' <child_A>Hello World</child_A>';
xml += ' <child_B>Good World</child_B>';
xml += ' </root>';
...
在字符串中放置空格!?!无论如何,它对FireFox都适用,我需要确保它也适用于IE。
我希望这有帮助。