Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


230 / 13645 ツリー ←次へ | 前へ→

【81432】XMLの名前空間を親ノードで指定すると、子ノードにxmlns=""と自... あも 20/7/30(木) 18:37 質問[未読]
【81436】Re:XMLの名前空間を親ノードで指定すると、... γ 20/8/1(土) 14:02 発言[未読]
【81441】Re:XMLの名前空間を親ノードで指定すると、... あも 20/8/3(月) 16:44 お礼[未読]

【81432】XMLの名前空間を親ノードで指定すると、...
質問  あも  - 20/7/30(木) 18:37 -

引用なし
パスワード
   XMLの名前空間を親ノードで指定すると、子ノードにxmlns=""と自動的に入力されてしまいます。
testノードにはxmlns=""を出力させたくないのですが、方法はありますか?

□出力結果
<root xmlns="aaa.co.jp>
 <test xmlns=""/>
</root>

□理想の結果
<root xmlns="aaa.co.jp">
 <test/>
</root>

□現在のコード
Sub Samples()
Dim xmlDoc As MSXML2.DOMDocument60
Dim xmlPI As IXMLDOMProcessingInstruction 'XML宣言
Dim rootelement As MSXML2.IXMLDOMElement
Dim element As MSXML2.IXMLDOMElement


'XMLドキュメント作成
Set xmlDoc = Nothing
Set xmlDoc = New MSXML2.DOMDocument60
'XML宣言
Set xmlPI = xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8"""))

Set rootelement = xmlDoc.createElement("root")
xmlDoc.appendChild rootelement
Set attr = xmlDoc.createNode(2, "xmlns", "")
attr.Text = "aaa.co.jp"
rootelement.setAttributeNode attr

Set element = rootelement.appendChild(xmlDoc.createNode(NODE_ELEMENT, "test", ""))

xmlDoc.Save ("namespace.xml")
End Sub

【81436】Re:XMLの名前空間を親ノードで指定すると...
発言  γ  - 20/8/1(土) 14:02 -

引用なし
パスワード
   creatNodeは引数にnamespace文字列を必須としていて、
親に <>""のnamespace文字列を指定していたら、
その子に指定したnamespace文字列が、
""であるかどうかに拘わらず出力するというのが仕様なのでしょう。
名前空間を使うなら統一して使う、
ということを暗黙の了解にしているので、それはそれで納得的です。

私も詳細なことを知らないので、別の方法があるのかもしれませんが。

以下、余談:

ここは、ExcelVBAの質問掲示板なので、
この種のテーマを質問するなら、
より広い範囲のテーマも同時に扱う質問掲示板で質問されたほうが
IT実務家の目にも触れ、回答を得られる可能性は高まります。

なにぶん、こちらのサイトは、今や、流量も少ないですし、
管理人さんのメンテナンスも十分されていない印象です。
(URLが変更になっても、その対応がなされず、
 投稿のたびに古いurlを使って再表示してしまい、
 エラーが常に起きます。
 リンクも古いものがリンク切れのまま放置されていますし、
 早晩、収束していくのかなあと、いささか残念に思っています。)

【81441】Re:XMLの名前空間を親ノードで指定すると...
お礼  あも  - 20/8/3(月) 16:44 -

引用なし
パスワード
   ▼γ さん:
そういった仕様ということでことで、納得いたしました。
また、質問掲示板に関するアドバイスもありがとうございます。

230 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free