我想用XPath来进行一个简单的搜索,这是我的XMLC#XPath的搜索
,我想搜索的时间节点,并返回标识节点的值作为结果。
这是到目前为止我的代码,但我不得到任何结果
XmlNodeList nList = xmlDoc.SelectNodes("//spEvents:Time[. = '" + eventId + "']/parent::node()/spEvents:Times/spEvents:EventTime/spEvents:Time", xmlnsManager);
(请注意我用的命名空间)
感谢 KB
@乔恩,我的代码是工作的罚款使用XML到LINQ,如下所示
return (from feed in xmlDoc_Spektrix.Descendants("Event")
from et in feed.Element("Times").Elements("EventTime")
where Convert.ToDateTime(et.Element("Time").Value).ToShortDateString() == Convert.ToDateTime(dt).ToShortDateString()
select feed.Element("Id").Value).ToList();
但由于名称空间e介绍到xml饲料,我的代码不再起作用,这就是为什么我不得不切换到xpath
此代码用于正常工作,没有人知道为什么上面的代码停止使用名称空间?
您是否在.Net 2.0或3.5+以上可以访问XLinq? – user7116
我们无法在此屏幕截图中看到名称空间。请将您的XML作为文本发布。 –
你必须使用xpath吗?我个人使用LINQ到XML,我觉得这更容易理解和得到正确的... –