つい集めてしまうものはなんですか?

VB6でXMLを作成しています。
Dim xmlDoc As New MSXML2.DOMDocument40 'XMLドキュメント
Dim xmlPI As IXMLDOMProcessingInstruction 'XML宣言
Dim node(7) As IXMLDOMNode '要素

Set xmlPI = xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml", "version= ""1.0"" encoding= ""Shift_JIS"" standalone= ""no"""))
Set node(1) = xmlDoc.appendChild(xmlDoc.createNode(NODE_ELEMENT, "kml", ""))
Set node(2) = node(1).appendChild(xmlDoc.createNode(NODE_ELEMENT, "kmlHeader", ""))
Set node(3) = node(2).appendChild(xmlDoc.createNode(NODE_ELEMENT, "kml_DTD", " kml_Version= 2.8"" kml_FileName=""../DTD/HYB01.dtd"))
以下省略
すると
<kml_DTD xmlns="kml_Version= 2.8" kml_FileName="../DTD/HYB01.dtd" />
"xmlns=" はどうすれば消えますか?お願いします。

A 回答 (1件)

createNodeの第3引数はネームスペースになるのでここに""以外を与えると無条件で『xmlns=』がついてしまうと思います


そこで一度 IXMLDOMElementにNode(3)を代入してこれのsetAttributeを使って属性データを作成すればいいのではないでしょうか

dim tmp as IXMLDOMElement
Set Node(3) = node(2).appendChild(xmlDoc.createNode(NODE_ELEMENT, "kml_DTD", ""))
Set tmp = Node(3)
tmp.setAttribute "kml_version", "2.8"
tmp.setAttribute "kml_FileName", "../DTD/HYB01.dtd"
Set Node(3) = tmp

といった具合です …
    • good
    • 0
この回答へのお礼

すごいです。教えていただいたとおりにしたら、希望通りにできました。本当にありがとうございました。

お礼日時:2008/01/31 14:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報