0

私はこのXMLを持っていて、特定のノードを読み取ろうとしましたが、機能しません=(

私のコードは次のとおりです。

XmlDocument doc = new XmlDocument();

            doc.Load("https://apps.db.ripe.net/whois/search.xml?query-string=193.200.150.125&source=ripe");

            XmlNode node = doc.SelectSingleNode("/whois-resources/objects/attributes/descr");

            MessageBox.Show(node.InnerText);

ここに画像の説明を入力画像の丸で囲まれた 2 つの値

URL: https://apps.db.ripe.net/whois/search.xml?query-string=193.200.150.125&source=ripe

可能です?

4

2 に答える 2

1

Linq To Xml を使用するのはどうですか?

var xDoc = XDocument.Load("https://apps.db.ripe.net/whois/search.xml?query-string=193.200.150.125&source=ripe");
var desc = xDoc.Descendants("attribute")
            .Where(a => (string)a.Attribute("name") == "descr")
            .Select(a => a.Attribute("value").Value)
            .ToList();

また

var desc = xDoc.XPathSelectElements("//attribute[@name='descr']")
            .Select(a => a.Attribute("value").Value)
            .ToList();
于 2013-07-27T23:43:35.237 に答える
1

特定の値に設定された属性「name」を持つノードを探している場合は、別の構文を使用する必要があります。

あなたは次のようなものを探しています:

XmlNode node = doc.SelectSingleNode("/whois-resources/objects/object/attributes/attribute[@name=\"descr\"]");

XmlAttribute attrib = node.Attributes["value"];

MessageBox.Show(attrib.Value);

これにより、2 番目のノード例が選択され、value 属性の値が取得されて表示されます。

于 2013-07-27T23:28:33.817 に答える