tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルxmlルートタグの属性値
記事No8141
投稿日: 2008/09/14(Sun) 02:04
投稿者ノーカウント
xmlルートタグの属性値を設定したいのですが方法が分かりません。
自分はXMLパーサを使わないでやっているのですが、パーサだと簡単にできる属性値の設定が
できません。
DataSet、DataTable、DataRowなどを使用してます。

<musicinformation>
<musicinfo id="1" xmlpath="XML/aaa.xml">
    <musicname>bbb</musicname>
    <artist>ccc</artist>
</musicinfo>
</musicinformation>
上のXMLでいうidやxmlpathの属性値を設定したいのです。

datatable1 = dataset1.Tables.Add("musicinfo")
この文でテーブルを追加するときに何かするのでしょうか。

どうかよろしくお願いします。。こちらOS:win Vista 開発環境:VB.Net です

[ツリー表示へ]
タイトルRe: xmlルートタグの属性値
記事No8142
投稿日: 2008/09/14(Sun) 11:02
投稿者魔界の仮面弁士
> 開発環境:VB.Net です
ここは[VB.NET 用掲示板]ですから、VB.NET をお使いなのは分かります。
どうせなら「VB.NET のバージョン」を書かないと。(^^;

お使いのバージョンは、2002/2003/2005/2008 のいずれでしょうか?
とりあえず、Vista 対応の最古バージョンである 2005 と仮定して回答します。

> xmlルートタグの属性値を設定したいのですが方法が分かりません。
提示された XML のルート要素(musicinformationタグ)には、
属性が無いようですけれども…。

> パーサだと簡単にできる属性値の設定ができません。
> DataSet、DataTable、DataRowなどを使用してます。
掲載した XML は、実際に使っているものと完全に同じものですか?
(スキーマがあれば、それを提示してください)

同じだとすれば、
 Dim ds As New DataSet()
 ds.ReadXml("C:\〜〜\元のXML.xml")

 Dim row As DataRow = ds.Tables("musicinfo").Rows(0)
 row("id") = "123"
 row("xmlpath") = "XML/bbb.xml"

 ds.WriteXml("C:\〜〜\編集後のXML.xml")
という感じで書き換えられるかと。

[ツリー表示へ]