- PR -

XMLファイルから属性の値だけを取り出したいのですが

投稿者投稿内容
かもがや
大ベテラン
会議室デビュー日: 2004/08/31
投稿数: 103
投稿日時: 2004-11-29 11:18
とっとさん、レスありがとうございます。

引用:

idNode = Doc.SelectNodes("世界の指導者/指導者/@ID")



『指導者/@ID』ですか!

XPATHの書式ってMSDNのどこに記されているかご存知でしたら・・すいませんが。。。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-11-29 11:22
諸農です。

引用:

コード:
<?xml version="1.0" encoding="Shift_JIS"?> 
<世界の指導者> 
    <指導者ID="1"> 
        <名前>小泉J一郎</名前> 
        <備考>日本</備考> 
    </指導者> 
    <指導者ID="2"> 
        <名前>Bシュ</名前> 
        <備考>米国</備考> 
    </指導者> 
</世界の指導者> 






「指導者」と「ID」の間に空白入りますよね?
エラーになりません?

コード:
XmlDocument xml = new XmlDocument();
xml.Load(@"D:\temp\test.xml");
XmlElement root = xml.DocumentElement;
XmlNodeList list = root.SelectNodes(@"/世界の指導者/指導者/@ID");
foreach (XmlNode n in list)
{
    listBox1.Items.Add(n.InnerText);
}




_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
かもがや
大ベテラン
会議室デビュー日: 2004/08/31
投稿数: 103
投稿日時: 2004-11-29 11:55
Jubeiさん、レスありがとうございます。

引用:

Jubeiさんの書き込み (2004-11-29 11:22) より:
諸農です。

引用:

コード:
<?xml version="1.0" encoding="Shift_JIS"?> 
<世界の指導者> 
    <指導者ID="1"> 
        <名前>小泉J一郎</名前> 
        <備考>日本</備考> 
    </指導者> 
    <指導者ID="2"> 
        <名前>Bシュ</名前> 
        <備考>米国</備考> 
    </指導者> 
</世界の指導者> 






「指導者」と「ID」の間に空白入りますよね?
エラーになりません?

コード:
XmlDocument xml = new XmlDocument();
xml.Load(@"D:temptest.xml");
XmlElement root = xml.DocumentElement;
XmlNodeList list = root.SelectNodes(@"/世界の指導者/指導者/@ID");
foreach (XmlNode n in list)
{
    listBox1.Items.Add(n.InnerText);
}








はい、エラー、出ずに動いています。。。
とっと
大ベテラン
会議室デビュー日: 2004/03/25
投稿数: 197
投稿日時: 2004-11-29 13:23
こんにちは。

引用:

脳味噌筋肉さんの書き込み (2004-11-29 11:18) より:

XPATHの書式ってMSDNのどこに記されているかご存知でしたら・・すいませんが。。。




MSDNではXML関係についてはあんまり調べた事ないんで分かりません。

僕自身は『VB.NETとXMLでつくるポータルサイト』みたいな感じの題名の本を買いました。
あと、XSLTの本も買いました。こちらはXPATHやXSLTスタイルシートなどが載っています。
スタイルシートを使えばXMLの並べ替えやFor文等を使ってHTMLのタグの中に入れて
Webページとして表示する事も出来ます。

MSDNは分かりませんが当サイトにもたくさんXMLについて載ってますので参考にどうぞ。
http://www.atmarkit.co.jp/fxml/index.html
かもがや
大ベテラン
会議室デビュー日: 2004/08/31
投稿数: 103
投稿日時: 2004-11-29 14:58
この件に関連して質問させて頂きたいのですが・・

引用:

コード:
<?xml version="1.0" encoding="Shift_JIS"?> 
<世界の指導者> 
    <指導者ID="1"> 
        <名前>小泉J一郎</名前> 
        <備考>日本</備考> 
    </指導者> 
    <指導者ID="2"> 
        <名前>Bシュ</名前> 
        <備考>米国</備考> 
    </指導者> 
</世界の指導者> 





「指導者IDが1」の名前と備考を取得する・・とした場合、自前で関数を作る
しかないのでしょうか?

識者の方、アドバイス頂ければ幸いです。
かもがや
大ベテラン
会議室デビュー日: 2004/08/31
投稿数: 103
投稿日時: 2004-11-29 15:00
引用:

とっとさんの書き込み (2004-11-29 13:23) より:
こんにちは。

引用:

脳味噌筋肉さんの書き込み (2004-11-29 11:18) より:

XPATHの書式ってMSDNのどこに記されているかご存知でしたら・・すいませんが。。。




MSDNではXML関係についてはあんまり調べた事ないんで分かりません。

僕自身は『VB.NETとXMLでつくるポータルサイト』みたいな感じの題名の本を買いました。
あと、XSLTの本も買いました。こちらはXPATHやXSLTスタイルシートなどが載っています。
スタイルシートを使えばXMLの並べ替えやFor文等を使ってHTMLのタグの中に入れて
Webページとして表示する事も出来ます。

MSDNは分かりませんが当サイトにもたくさんXMLについて載ってますので参考にどうぞ。
http://www.atmarkit.co.jp/fxml/index.html

karajan
ベテラン
会議室デビュー日: 2002/07/05
投稿数: 89
投稿日時: 2004-11-29 15:09
何度も聞くようですが、
<指導者ID="1">
って要素でエラーにならないんでしょうか?
<指導者 ID="1">
なら問題ないんですが。

特定の条件に合致したものだけを抽出ということであれば、
XPathを使えば大体のことはできます。
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2004-11-29 15:22
<指導者ID="1">だとうちでもエラーになりますね。
写し間違いですか??(指導者とIDの間にスペースがないとそれはXML文書とは言えないはず)
XmlDocument doc = new XmlDocument();
doc.Load(@"D:temptest.xml");
XmlNode node = doc.SelectSingleNode("/世界の指導者/指導者[@ID=1]");
// お好みの
Console.WriteLine(node.SelectSingleNode("名前").InnerText);
// 方でどうぞ
Console.WriteLine(node.SelectSingleNode("備考/text()").Value);


[ メッセージ編集済み 編集者: Kazuki 編集日時 2004-11-29 15:24 ]

スキルアップ/キャリアアップ(JOB@IT)