###前提・実現したいこと
現在、VBAでxmlの読み取り⇒一部修正を行おうとしています。
具体的には、読み取ったxmlの中に以下のような<Components>ノードがあり、この下に<Component>ノードと、更にその下の階層に<ID>、<Name>、<Property role=xx>といった子ノードを追加したいと考えています。
xml
1<Components> 2</Components>
↓
xml
1<Components> 2 <Component> 3 <ID> 4 </ID> 5 <Name> 6 </Name> 7 <Property role=xx> 8 </Property> 9 </Component> 10</Components>
VBAで既存のxmlを読み取っていき、Node2が今<Components>ノードになっています。
そこで、以下のようにコードを書きNode2(Components)の下に、各子ノード、孫ノードを追加しました。
VBA
1 Set Node3 = Node2.appendChild(XMLDocument.createNode(NODE_ELEMENT, "Component", "")) 2 Set Node4 = Node3.appendChild(XMLDocument.createElement("ID")) 3 Set Node4 = Node3.appendChild(XMLDocument.createElement("Name")) 4 Set Node4 = Node3.appendChild(XMLDocument.createElement("Property"))
(Attributesは現在入力の仕方が分からないため入力していません)
###発生している問題・エラーメッセージ
上記を実行すると、確かに子ノード、孫ノードは生成するのですが、Componentノードに、以下のようにxmlns=""が追加されてしまいます。
xml
1 <Component xmlns="">
###試したこと
こちらを参考に、createNode(NODE_ELEMENT, "Component", ns)にしてみましたが(nsは、name spaceの変数になります)、解消されませんでした。
また、こちらを見る限り、上記のリンクと同様、やはり親ノードと同じ名前空間を設定しないといけないようではあるのですが、、、。
Googleで検索した限りでは解消することができず、皆様のお知恵を貸していただきたく、お願いいたします。
###補足情報(言語/FW/ツール等のバージョンなど)
Excel 2013使用
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。