VBでXMLファイルを作ると xmlns= が・・・
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=" はどうすれば消えますか?お願いします。
回答(1件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.1ベストアンサー20pt
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
といった具合です …
この回答へのお礼
すごいです。教えていただいたとおりにしたら、希望通りにできました。本当にありがとうございました。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











