Kakeishi_Misa
@Kakeishi_Misa

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

【VBA】xmlに孫要素を追加する方法を知りたい

Q&A

Closed

解決したいこと

xmlに孫要素を追加する方法を知りたいです。
下記の構成のxmlを作成したいです。

child要素は、
”appendChildメソッド”を使用すると追加できますが、
Grandchild要素は
どのようにすれば追加できるのでしょうか。

<Root>
    <child>
        <Grandchild>
        </Grandchild>
    </child>
</Root>

自分で試したこと

Set childElementNode = xmlDocument.appendChild(xmlDocument.createElement("Grandchild"))
のように2個目のNodeを作成しようすると
「xmlドキュメント内では最上位の要素に限り、使用できます。」とエラーがでて、
子要素をノード扱いのようにはできないようです。

        ' XML宣言を生成
        Dim processingInstruction As IXMLDOMProcessingInstruction
        Set processingInstruction = xmlDocument.createProcessingInstruction("xml", "version='1.0' encoding='utf-8'")
        Call xmlDocument.appendChild(processingInstruction)

        ' 親ノード(root)作成
        Dim rootNode As MSXML2.IXMLDOMNode
        Set rootNode = xmlDocument.appendChild(xmlDocument.createElement("Root"))

        ' 子ノード(child)作成
        Dim xmlTag As MSXML2.IXMLDOMNode
        Set xmlTag = xmlDocument.createElement("child")
        rootNode.appendChild xmlTag
0

1Answer

Elementに対してappendChildすればいいと思います。
InnerXmlプロパティに直書きしてもいいです。

0Like

Comments

  1. @Kakeishi_Misa

    Questioner

    >Elementに対してappendChildすればいいと思います
    できました。
    ありがとうございました。

Your answer might help someone💌