属性の追加について への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2020/8/21 15:21:43
> とりあえずこんな感じ。
実行結果はこうなります。
指定通り、Locatin ではなく Location として追加されていることが分かりますね。
なお先のコードだと、BOM 付の UTF-8 エンコードで出力されます。
もしも BOM 無しで出力したいなど、別の Encoding で出力したいのであれば
Encoding を明示した XmlTextWriter に Save するようにしてみてください。
実行結果はこうなります。
指定通り、Locatin ではなく Location として追加されていることが分かりますね。
なお先のコードだと、BOM 付の UTF-8 エンコードで出力されます。
もしも BOM 無しで出力したいなど、別の Encoding で出力したいのであれば
Encoding を明示した XmlTextWriter に Save するようにしてみてください。
Using writer As New XmlTextWriter("D:\TEMP\Sample3.xml", New UTF8Encoding(False))
doc.Save(writer)
End Using
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2020/8/21 14:35:43
とりあえずこんな感じ。
ノード末尾の改行が必須かどうか、とか、encoding 指定が必要かどうかなどで、
いろいろ書き方が変わってきます。LoadOptions や SaveOptions は適宜調整を。
ノード末尾の改行が必須かどうか、とか、encoding 指定が必要かどうかなどで、
いろいろ書き方が変わってきます。LoadOptions や SaveOptions は適宜調整を。
Dim doc = XDocument.Load("D:\TEMP\Sample.xml", LoadOptions.PreserveWhitespace)
Dim newSite = <Site Location="d">C:\temp</Site>
doc.Root.Add(newSite)
doc.Root.Add(vbCrLf)
doc.Save("D:\TEMP\Sample2.xml")
投稿者 LLCOOLJ  (社会人)
投稿日時
2020/8/20 23:13:27
xml文書にvisual basicで書き込みをしようとしています。
下記のように属性を持つノード"Site"を属性"Location="d"を持たせて
新たに追加しようとしています。
どのように書き込むとうまくいきますでしょうか?
知識のある方ご回答よろしくお願いします。
<DataPath>
<Site Locatin="a">C:\temp</Site>
<Site Locatin="b">C:\temp</Site>
<Site Locatin="c">C:\temp</Site>
</DataPath>
下記のように属性を持つノード"Site"を属性"Location="d"を持たせて
新たに追加しようとしています。
どのように書き込むとうまくいきますでしょうか?
知識のある方ご回答よろしくお願いします。
<DataPath>
<Site Locatin="a">C:\temp</Site>
<Site Locatin="b">C:\temp</Site>
<Site Locatin="c">C:\temp</Site>
</DataPath>
> 新たに追加しようとしています。
もしかして、既存の Site ノードに Location="d" な属性を付与するという話でしょうか?
だとしたらこう書けます。