2013-10-23 24 views
0

我已經創建了下面的XML文件:爲什麼項目在xml文檔中爲null?

<?xml version="1.0" encoding="utf-8"?> 
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0"> 
    <channel> 
    <item> 
     <g:id>6945</g:id> 
     <g:price>1222.00</g:price> 
    </item> 
    </channel> 
</rss> 

我需要使用G:ID查找該項目的節點,因爲在現實XMLFILE我有上百個項目。然而目前我正在嘗試選擇itemnode,但是這是空的:

XNamespace g = "http://base.google.com/ns/1.0"; 
var doc = XDocument.Load(Server.MapPath("~/xmlfile1.xml")); 
var reader = doc.CreateReader(); 
var namespaceManager = new XmlNamespaceManager(reader.NameTable); 
namespaceManager.AddNamespace("g", g.NamespaceName); 
var itemNode = doc.XPathSelectElement("/Channel/item/g:id[text()= 6945]", namespaceManager); 

回答

0

您使用的XPath不正確。以下應該工作:

var itemNode = doc.XPathSelectElement("//channel/item/g:id[text()= 6945]", namespaceManager); 
相關問題