- - PR -
XMLの表記について
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-06-28 15:18
いつもお世話になっています。
TKです。 以下のXML文書をlistBoxに表示させようとしましたが表示できませんでした。 <thesaurus xmlns="x-schema:tsSchema.xml"> <expansion> <sub weight="0.9">IE5</sub> </expansion> </thesaurus> 「"x-schema:tsSchema.xml"」の部分を削除すると表示できるのですが。。。 どうすれば表示できるのでしょうか? 分かる方いらっしゃいましたらご教授ください。 XMLファイルを読み込んでいるコードです。 xmlDocument.Load(openFileDialog1.FileName); XmlNode rootXmlNode = xmlDocument.DocumentElement; XmlNodeList xmlNodeList = rootXmlNode.SelectNodes(".//expansion/sub"); [ メッセージ編集済み 編集者: TK 編集日時 2004-06-28 15:19 ] | ||||
|
投稿日時: 2004-06-28 15:35
とりあえずこんな感じ。
| ||||
|
投稿日時: 2004-06-28 16:31
catsさんお返事ありがとうございます。
もう1つお聞きしたいことがあります。 教えていただいたコードを使用してみたのですが クイックウォッチで見ていくと foreach エラー : 識別子 'foreach' はスコープ外です と表示されました。 これはどんな状態なのでしょうか? 初心者で分からないことが多くてすいません。。。 xmlDocument.Load(openFileDialog1.FileName); XmlNode rootXmlNode = xmlDocument.DocumentElement; XmlNamespaceManager nm = new XmlNamespaceManager(xmlDocument.NameTable); nm.AddNamespace("nm",xmlDocument.DocumentElement.NamespaceURI); XmlNodeList xmlNodeList = rootXmlNode .SelectNodes(".//nm:replacement/nm:pat",nm); foreach(XmlNode node in xmlNodeList) { this.listBox1.Items.Add(node.InnerText); } | ||||
|
投稿日時: 2004-06-28 17:16
以下は .NET Framework SDKの XmlNodeListのヘルプより引用 public static void Main() { XmlDocument doc = new XmlDocument(); doc.Load("2books.xml"); //Get and display all the book titles. XmlElement root = doc.DocumentElement; XmlNodeList elemList = root.GetElementsByTagName("title"); IEnumerator ienum = elemList.GetEnumerator(); while (ienum.MoveNext()) { XmlNode title = (XmlNode) ienum.Current; Console.WriteLine(title.InnerText); } } というわけで GetEnumeratorを使用すればよいのではないでしょうか。 | ||||
|
投稿日時: 2004-06-28 17:44
platiniさん
catsさん ありがとうございました。 無事表示できるようになりました。。 | ||||
|
投稿日時: 2004-06-28 18:29
TKです
platiniさん すいません せっかく教えて頂いたのですが コーディングを進めていくとやはりXPATHを使って 表示させていかないと無理なようなのです。。。。(__) 以下のコードを利用するのは難しいのでしょうか? ご存知の方いらっしゃいましたらご教授ください xmlDocument.Load(openFileDialog1.FileName); XmlNode rootXmlNode = xmlDocument.DocumentElement; XmlNamespaceManager nm = new XmlNamespaceManager(xmlDocument.NameTable); nm.AddNamespace("nm",xmlDocument.DocumentElement.NamespaceURI); XmlNodeList xmlNodeList = rootXmlNode .SelectNodes(".//nm:replacement/nm:pat",nm); foreach(XmlNode node in xmlNodeList) { this.listBox1.Items.Add(node.InnerText); } | ||||
1
