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>
何が間違っているのかわかりませんが、この問題に関する情報をWeb上で見つけることができないようです。誰かが私を助けてくれるかどうか疑問に思います。どんな助けでもいただければ幸いです。
ありがとう