具有多个条件的XPath
我可以使用哪种XPath来select具有指定名称属性的任何类别以及具有指定值的任何子节点作者。
我已经尝试了下面的path的不同变化,没有成功:
//quotes/category[@name='Sport' and author="James Small"]
XML:
<?xml version="1.0" encoding="utf-8"?> <quotes> <category name="Sport"> <author>James Small<quote date="09/02/1985">Quote One</quote><quote date="11/02/1925">Quote nine</quote></author> </category> <category name="Music"> <author>Stephen Swann <quote date="04/08/1972">Quote eleven</quote></author> </category> </quotes>
尝试:
//category[@name='Sport' and ./author/text()='James Small']
用途 :
/category[@name='Sport' and author/text()[1]='James Small']
或使用:
/category[@name='Sport' and author[starts-with(.,'James Small')]]
尽可能避免使用伪操作符是一个很好的规则,因为它的评估通常会很慢。
也:
./somename
相当于:
somename
所以build议使用后者。
问题不清楚,但我知道你需要select一个具有名称属性的类别,并应具有指定值的子作者,纠正我,如果我worng
这里是一个xpath
//category[@name='Required value'][./author[contains(.,'Required value')]] eg //category[@name='Sport'][./author[contains(.,'James Small')]]