如何使用XPath解析以下“标签”值?

时间:2013-10-15 17:39:54

标签: java xml xpath

xml文件是:

<xml-fragment xmlns:xyz="http://someurl">
   <xyz:xyzcontent>
     <contentattribute>
       <key>tags</key>
       <value>tag1, tag2</value>
     </contentattribute>
   </xyz:xyzcontent>
...

我尝试了以下内容:

XPathExpression createdDateExpression = xpath.compile("/contentattribute/key/attribute::tags/value");

1 个答案:

答案 0 :(得分:1)

您的查询存在一些问题。

  • XML被破坏(根标签未关闭) - 可能只是一个复制/粘贴错误
  • 您正在XML树中间的某个地方开始,但实际上是尝试从根节点进行查询。在开头使用后代或自我轴//
  • 您使用attribute轴查询哪个属性?没有。
  • 您在哪里注册名称空间?无论如何,xyz的名称空间是什么?我猜它实际上是vp,但你没有完全混淆(或者没有给出文档的所有相关部分)。
  • 使用谓词和字符串比较来过滤轴步骤。

请尝试以下操作:

  • 确保注册命名空间,查看该参考资料(或提供更多信息)。
  • 使用XPath查询//contentattribute[key='tags']/value