- PR -

XPathを使っての属性の値の読み方

1
投稿者投稿内容
みつん
大ベテラン
会議室デビュー日: 2004/05/21
投稿数: 100
投稿日時: 2005-02-14 20:33
いつも参考にさせていただいてます。

現在、C#にてXMLファイルの読み込みを行っています。
XPathを使用して、一発でターゲットノードの属性値を取得したいのですが、
どうしてもNullが返ってきてしまいます。
そもそものコーディングが間違ってるような気もしてきました。

xmlファイル-----------------------------------------------
<?xml version="1.0" encoding="Shift-JIS" ?>
<ROOT>
<Database>
<DatabaseInf ID="DB1" type="OLE"/>
</Database>
</ROOT>
-----------------------------------------------

この中のDatabaseInfタグのtype属性の値、"OLE"を取得したいのです。

XmlDocument doc = new XmlDocument();
string Att = doc.SelectSingleNode("/ROOT/Database/DatabaseInf@type").Value;

何かでこのような書き方を見たのですが、Nullが返ってきてエラーになります。
このような方法では取得できないのでしょうか?
どなたか何かよいアドバイスをいただけないでしょうか??
よろしくお願いいたします。

_________________
けむ
常連さん
会議室デビュー日: 2003/09/26
投稿数: 40
投稿日時: 2005-02-14 20:39
「DatabaseInf」と「@type」の間に「/」が必要だったような・・・?
みつん
大ベテラン
会議室デビュー日: 2004/05/21
投稿数: 100
投稿日時: 2005-02-15 11:28
けむさん、ありがとうございます!
スラッシュ追加で、一発で取得できました。

気になったので、参考にしたサイトのコードをよぉく見ると、
やっぱりそこにもスラッシュが。
思い込みとは恐ろしいものですね。
何度も見たはずなのに・・・。
誰かに見てもらうと一瞬に解決したりするのですね。
本当に感謝。ありがとうございました。
_________________
1

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