4
リモートXMLファイルを読み込んでいて、XMLをXMLDocumentオブジェクトにロードしたら、それを調べて、アプリケーションに必要な値を抽出する必要があります。C#でリモートXMLを読む
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load("http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml");
XmlNamespaceManager nsMan = new XmlNamespaceManager(xmlDocument.NameTable);
nsMan.AddNamespace("gesmes", "http://www.gesmes.org/xml/2002-08-01");
nsMan.AddNamespace("", "http://www.ecb.int/vocabulary/2002-08-01/eurofxref");
XmlNodeList xmlNodeList = xmlDocument.DocumentElement.SelectNodes("/gesmes:Envelope/Cube/Cube/Cube", nsMan);
HttpContext.Current.Response.Write("The numner of nodes is " + xmlNodeList.Count); //it's always zero
私は取得しています問題は、私はXMLSpyの中でXPath式を評価する場合、私は私が必要とするノードを取得するのに対しいるXmlNodeListは常に、ゼロのノードを返すということですが、次のように私のコードです。
<?xml version="1.0" encoding="UTF-8"?>
<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
<gesmes:subject>Reference rates</gesmes:subject>
<gesmes:Sender>
<gesmes:name>European Central Bank</gesmes:name>
</gesmes:Sender>
<Cube>
<Cube time='2011-07-27'>
<Cube currency='USD' rate='1.4446'/>
<Cube currency='GBP' rate='0.88310'/>
</Cube>
</Cube>
</gesmes:Envelope>
私はUSDとGBPのためのキューブノードを返したい:
参考のためにXMLは次のようになります。
あなたは賢い人ですか?
おかげ アル
巧みな賢さ - どのように結果をループさせるのですか? Linqとはあまり良くない!? – higgsy
@higgsy:編集結果を表示します。 –
スポットで、素晴らしい解決策 - ありがとう! – higgsy