Xpath查询C#中的已知属性 [英] Xpath Query for known attributes in C#
问题描述
大家好,
我下面有XML
Hi All,
I have below XML
<Header>
<reference>
<identifier>BatchProcessed</identifier>
<datetime>2011-08-15T05:12:00+10:00</datetime>
</reference>
</Header>
<Header>
<reference>
<identifier>Running</identifier>
<datetime>2011-08-15T05:12:00+10:00</datetime>
</reference>
</Header>
我正在尝试对xpath查询以在Indentifier中找出此值"BatchProcessed".
请更正我,这是我查询中的内容,但不起作用
Am trying to xpath query to find out this value "BatchProcessed" in Indentifier.
Please correct me ,this what i have in my query but its not working
//Header[@Identifier=''BatchProcessed'']<br />
在Advance中感谢
Thanks in Advance
推荐答案
您的XPath几乎是正确的.您只需要省略@符号. @符号用于指示您正在尝试检查属性.要检查元素内容,您只需要忽略@:
Your XPath was almost correct. You''ll just have to leave out the @ sign. The @ sign is used to indicate that you are trying to check an attribute. To check for element content all you need to to is omit the @:
//Header/reference[Identifier = "BatchProcessed"]
我不确定是否真的需要双引号,但是我把它们放在通常以这种方式编写XPath的地方.您的XPath将获取所有具有子元素reference
和子子元素identifier
且文本值为"BatchProcessed"的Header
标记.
最好的问候,
I''m not sure if the double quotes are really needed, but I put them there just the same as I usually write my XPaths that way. Your XPath will fetch you all Header
tags that have child elements reference
with sub children identifier
with a text value of "BatchProcessed".
Best Regards,
请参阅此链接
http://msdn.microsoft.com/en-us/library/ms256086.aspx [ ^ ]
或
您的XML格式没有根元素.请包括根元素
Please refer this link
http://msdn.microsoft.com/en-us/library/ms256086.aspx[^]
OR
You XML format doesn''t have root element. Please include the root element
<root>
<header>
<reference>
<identifier>BatchProcessed</identifier>
<datetime>2011-08-15T05:12:00+10:00</datetime>
</reference>
</header>
<header>
<reference>
<identifier>Running</identifier>
<datetime>2011-08-15T05:12:00+10:00</datetime>
</reference>
</header>
</root>
并且可以使用C#代码查找特定的节点.
and use can use C# code to find the particular Node.
XmlDocument oDoc = new XmlDocument();
oDoc.LoadXml(sXML);
XmlNodeList list = oDoc.SelectNodes("//root/Header/reference[identifier = 'BatchProcessed']");
这篇关于Xpath查询C#中的已知属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!