假设我有以下XML:
@H_301_18@
尝试
- <book category="CLASSICS">
- <title lang="it">Purgatorio</title>
- <author>Dante Alighieri</author>
- <year>1308</year>
- <price>30.00</price>
- </book>
- <book category="CLASSICS">
- <title lang="it">Inferno</title>
- <author>Dante Alighieri</author>
- <year>1308</year>
- <price>30.00</price>
- </book>
- <book category="CHILDREN">
- <title lang="en">Harry Potter</title>
- <author>J K. Rowling</author>
- <year>2005</year>
- <price>29.99</price>
- </book>
- <book category="WEB">
- <title lang="en">XQuery Kick Start</title>
- <author>James McGovern</author>
- <author>Per Bothner</author>
- <author>Kurt Cagle</author>
- <author>James Linn</author>
- <author>Vaidyanathan Nagarajan</author>
- <year>2003</year>
- <price>49.99</price>
- </book>
- <book category="WEB">
- <title lang="en">Learning XML</title>
- <author>Erik T. Ray</author>
- <year>2003</year>
- <price>39.95</price>
- </book>
我想做一个xpath,回到所有的书节点,有一个语言属性为“it”的标题节点。
我的尝试看起来像这样:
// book [title [@ lang =’it’]]
但是没有工作。我希望回到节点:
- <book category="CLASSICS">
- <title lang="it">Purgatorio</title>
- <author>Dante Alighieri</author>
- <year>1308</year>
- <price>30.00</price>
- </book>
- <book category="CLASSICS">
- <title lang="it">Inferno</title>
- <author>Dante Alighieri</author>
- <year>1308</year>
- <price>30.00</price>
- </book>
任何提示?提前致谢。
- //book[title/@lang = 'it']
这读:
>获得所有书元素
>至少有一个标题
>其具有属性lang
>具有值“it”
你可能会发现this有用 – 这是一篇题为“XPath in Five Paragraphs”由Ronald Bourret的文章。
但是在所有的诚实,// book [title [@ lang =’it’]]和以上应该是等价的,除非你的XPath引擎有“问题”。因此,它可能是代码或示例XML中的一些您没有显示的东西 – 例如,您的示例是一个XML片段。可能是根元素有一个命名空间,你不会在你的查询中计数?你只告诉我们它没有工作,但你没有告诉我们你得到了什么结果。