日期:2014-05-19  浏览次数:20876 次

XPath问题
我想检索姓名为   张三   的联系人公司信息
可输出的是空的!   怎么才能输出       A公司
--------------
static   void   Main(string[]   args)
{
XmlDocument   document   =   new   XmlDocument();
document.Load( "..//..//test.xml ");
string   xpath   =   "descendant::公司[/联系人列表/联系人[姓名= '张三 ']] ";          
XmlNode   node=document.SelectSingleNode(xpath);                      
Console.WriteLine(node.Value);
Console.Read();
}
---------------------------------

<?xml   version= "1.0 "   encoding= "GB2312 "?>
<联系人列表>  
<联系人>  
<姓名> 张三 </姓名>  
<ID> 001 </ID>  
<公司> A公司 </公司>  
<EMAIL> zhangsan@php.com </EMAIL>  
<电话> 12345678 </电话>  
<地址>  
<街道> 经十路11# </街道>  
<城市> 济南市 </城市>  
<省份> 山东 </省份>  
<ZIP> 250001 </ZIP>  
</地址>  
</联系人>  

<联系人>  
<姓名> 李四 </姓名>  
<ID> 002 </ID>  
<公司> B公司 </公司>  
<EMAIL> lisi@zend.org </EMAIL>  
<电话> 123987654 </电话>  
<地址>  
<街道> 中关村大街88号 </街道>  
<城市> 北京 </城市>  
<省份> 北京 </省份>  
<ZIP> 100801 </ZIP>  
</地址>  
</联系人>  
</联系人列表>

------解决方案--------------------
string xpath = "/联系人列表/联系人[姓名= '张三 ']/公司 ";
------解决方案--------------------
又见net_lover(【孟子E章】)
------解决方案--------------------
string xpath = "/联系人列表/联系人[姓名= '张三 ']/公司 ";
没错,要不然selectSingleNode会返回空吧
------解决方案--------------------
不好意思,写错了.
应该是 xpath = "/联系人列表/联系人[姓名= '张三 ']/公司 "
------解决方案--------------------
Console.WriteLine(no2.InnerText);
------解决方案--------------------
sdk上写的很清楚了