我有不同的命名空間的XML,我想用.SelectNodes查詢(字符串XPATH)的XPath XML命名空間
,我注意到這樣的問題,只要我把所有XPath查詢任何回報那些命名空間。
反正是有告訴XmlDocument.SelectNodes忽略這些命名空間,只是讓我正確的元素(即我查詢似乎不具有名稱空間前綴的元素)?
如果有,任何人都可以請給我一個如何做的例子嗎?我在查詢節點之前/何時應該定義什麼?
感謝您的幫助。
更正:我仍然無法確定問題是什麼。這裏是我的xml:
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:gf="http://schemas.google.com/finance/2007"
xmlns:gd="http://schemas.google.com/g/2005" >
<id>http://finance.google.com/finance/feeds/[email protected]/portfolios</id>
<updated>2009-12-15T19:32:21.000Z</updated>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/finance/2007#portfolio" />
<title type="text" >Portfolio Feed</title>
<link rel="alternate" type="text/html" href="http://finance.google.com/finance/portfolio?action=view" />
<link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://finance.google.com/finance/feeds/default/portfolios" />
<link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml" href="http://finance.google.com/finance/feeds/default/portfolios" />
<link rel="self" type="application/atom+xml" href="http://finance.google.com/finance/feeds/default/portfolios" />
<openSearch:totalResults>24</openSearch:totalResults>
<openSearch:startIndex>1</openSearch:startIndex>
<openSearch:itemsPerPage>24</openSearch:itemsPerPage>
<entry>
<id>http://finance.google.com/finance/feeds/[email protected]/portfolios/2</id>
<updated>2009-12-14T16:26:53.000Z</updated>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/finance/2007#portfolio" />
<title type="text" >Main</title>
<link rel="self" type="application/atom+xml" href="http://finance.google.com/finance/feeds/default/portfolios/2" />
<link rel="edit" type="application/atom+xml" href="http://finance.google.com/finance/feeds/default/portfolios/2" />
<gd:feedLink href="http://finance.google.com/finance/feeds/[email protected]/portfolios/2/positions" />
<gf:portfolioData currencyCode="USD" gainPercentage="0.0" return1w="0.0" return1y="0.0" return3m="0.0" return3y="0.0" return4w="0.0" return5y="0.0" returnOverall="0.0" returnYTD="0.0" />
</entry>
</feed>
這裏是我的代碼:
XmlDocument的XML = ExecuteRequest(URL);
var xmlnsManager = new System.Xml.XmlNamespaceManager(xml.NameTable);
xmlnsManager.AddNamespace("xmlns:openSearch", "http://a9.com/-/spec/opensearchrss/1.0/");
xmlnsManager.AddNamespace("xmlns:gf", "http://schemas.google.com/finance/2007");
xmlnsManager.AddNamespace("xmlns:gd", "http://schemas.google.com/g/2005");
var nodes = xml.SelectNodes("//feed/entry", xmlnsManager);
和我的節點數仍然是0!任何想法?
僅鏈接答案是很差的答案。您應該包含鏈接答案中的實質性內容。然而,在這種情況下,一旦你這樣做,你的答案就會類似於[Darrel Miller的回答](http://stackoverflow.com/a/2075794/2704659),在我看來,這應該是這裏公認的答案,不是你的。 – 2016-07-15 15:26:35