2011-05-10 5 views
0

에 나는이 웹 서비스도움말 -, 간단한 XML 문서

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:cb="http://www.cbwiki.net/wiki/index.php/Specification_1.1" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3c.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3c.org/1999/02/22-rdf-syntax-ns#rdf.xsd"> 
<channel rdf:about="http://www.bankofcanada.ca/stats/"> 
<title xml:lang="en">Bank of Canada closing rate: U.S. dollar (close)</title> 
<link>www.bankofcanada.ca/</link> 
<description>Current day's closing foreign exchange rates from the Bank of Canada. Published at about 4:15 ET.</description> 
<items> 
    <rdf:Seq> 
    <rdf:li rdf:resource="http://www.bankofcanada.ca/stats/assets/rates_rss/STATIC_IEXE0102.xml" /> 
    </rdf:Seq> 
</items> 
</channel> 
<item rdf:about="http://www.bankofcanada.ca/stats/rates_rss/STATIC_IEXE0102.xml"> 
<title xml:lang="en">CA: 1.0378 USD = 1 CAD 2011-05-09 Bank of Canada closing rate</title> 
<link>http://www.bankofcanada.ca/rates/exchange/daily-closing-past-five-day/</link> 
<description xml:lang="en">1 Canadian Dollar = 1.0378 USD (USD = U.S. dollar (close)). These are the Bank of Canada's nominal closing exchange rates, published at about 4:15 ET each business day. These are neither buying nor selling rates, and should be used for reference purposes only.</description> 
<dc:date>2011-05-09T16:15:00-04:00</dc:date> 
<dc:language>en</dc:language> 
<cb:statistics> 
    <cb:country>CA</cb:country> 
    <cb:exchangeRate> 
    <cb:value decimals="4">1.0378</cb:value> 
    <cb:baseCurrency>CAD</cb:baseCurrency> 
    <cb:targetCurrency>USD</cb:targetCurrency> 
    <cb:rateType>Bank of Canada closing rate</cb:rateType> 
    <cb:observationPeriod frequency="daily">2011-05-09T16:15:00-04:00</cb:observationPeriod> 
</cb:exchangeRate> 
</cb:statistics> 
</item> 
</rdf:RDF> 

에서 간단한 XML 문서를하고 난이

XmlNamespaceManager manager = new XmlNamespaceManager(xmlDoc.NameTable); 
manager.AddNamespace("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#"); 
manager.AddNamespace("cb", "http://centralbanks.org/cb/1.0/"); 
manager.AddNamespace("dcterms", "http://purl.org/dc/terms/"); 
manager.AddNamespace("xsi", "http://www.w3c.org/2001/XMLSchema-instance"); 
XmlNode valueNode = xmlDoc.SelectSingleNode("descendant::cb:value", manager); 
string v = valueNode.InnerText; 

이 값 노드를 선택 할 노력하고있어 하지만 null 만 반환합니다. 몇 달 동안 일해 왔지만 어떤 방식 으로든 문서를 변경했다고 가정합니다.하지만 불행히도 이전 사본이 없습니다. 나는 XML에 cb 별칭 네임 스페이스를 발견

답변

4

어떤 조언을위한

많은 감사는 다음과 같습니다

http://www.cbwiki.net/wiki/index.php/Specification_1.1

사용하는 동안 :

http://centralbanks.org/cb/1.0/

에 대한 네임 스페이스 관리자.

코드에서 네임 스페이스를 업데이트하면 문제가 해결 될 수 있습니다.

+0

감사합니다. – Jim