XPath选择具有属性值和子节点值的节点

时间:2012-06-22 16:27:25

标签: xpath

后台 - Visual Studio 2010,C#,. Net Framework 4.0应用程序

我有一个接收XML并基于该XML的网站,我需要触发其他处理。

我收到以下XML(我已将其缩短为最小的XML)

<Event xmlns="http://www.mysite.com"  et='a'>
<audit>
    <cb>foo</cb>
</audit>
</Event>

我一直在使用以下XPath来查看文档是否匹配以进行其他处理..(检查我是否得到任何“事件”节点)。

        //std:Event[@et='a']

我一直在努力的是,我需要找到et属性为“a”的所有Event节点,audit / cb节点的值为'foo'

这是我在努力的地方......任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:3)

不确定C#和.NET,但在纯XPath语法中我相信它会是:

//Event[@et='a']/audit[cb='foo']/..

http://www.w3schools.com/XPath/xpath_syntax.asp

上查看Xpath语法

答案 1 :(得分:0)

我自己不是.NET用户,但试试这个:

//Event[@et='a' and audit/cb = 'foo']