C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 74 を表示中)
■43454 / )  vbでxml出力
□投稿者/ まきお (1回)-(2009/11/10(Tue) 22:41:00)

分類:[.NET 全般] 

vb初心者です。ネットを参考にしてコーディングしています。
エクセル2007でxmlファイルを出力するマクロを作成についての質問です。
DOMを使っているのですが名前空間の部分で"読み取り専用のノードを編集しようとしました"というエラーがでます。

コード
Dim xmlDoc As MSXML2.DOMDocument
Dim xmlPI As MSXML2.DOMProcessingIntroduction
Dim xmlNode As MSXML2.DOMNode
Dim xmlAttr As MSXML2.DOMAttribute
Dim xmStr As String

Set xmlDoc = New MAXML2.DOMDocument
Set xmlPI = xmlDOC.appendChild(xmlDoc.createProcessingIntroduction("xml","version=""1.0"",encording=""utf-8""))

Set xmlNode = xmlDoc.appendChild(xmlDoc.createElement("root"))
Set xmlAttr = xmlNode.Attributes.setNamedItem(xmlDoc.createAttribute("xmlns"))  *
xmlAttr.NodeValue = "http://www.・・・"   ←ここでエラーがでます
Set xmlNode = xmlDoc.appendChild(xmlDoc.createElement("child"))
Set xmlNode = xmlDoc.appendChild(xmlDoc.createTextNode("test"))

xmlString = xmlDoc.XML
Debug.Print xmlString

xmlDoc.Save("C:\・・・.xml")


属性が"xmlns"や"xmlns:xsi"以外(IDなど)だとエラーが起こらないのですが。

また、*の部分をsetAttributeを使って、
Set xmlNode = xmlNode.setAttribute("xmlns","http://www.・・・")
とすると"Functionまたは変数が必要です"というエラーがでます。

不適切な部分もあると思いますが、
わかる方がいらっしゃいましたらよろしくお願いいたします。


以下、出力させたい内容です。
<?xml version="1.0",encording="utf-8"?>
<root xmlns="http://www.・・・">
<child>test</child>
</root>

最後まで読んでいただきありがとうございました。
返信 編集キー/


管理者用

- Child Tree -