<?xml version="1.0" encoding="UTF-8"?>
<serviceOfferings xmlns="http://www.abc.com/aaa" xmlns:ns2="http://www.w3.org/2005/Atom">
<serviceOffering type="provider">
<links>
<link title="Service Provider" type="application/xml" rel="self" href="https://www.yahoo.com"/>
<link rel="create" href="https://www.google.com/create"/>
</links>
</serviceOffering>
</serviceOfferings>
如何获取属性href
为rel
create
值
答案 0 :(得分:0)
目标元素位于默认命名空间中。首先,您需要使用XPath引擎注册该命名空间。你如何做到这一点取决于你使用的工具,这意味着它超出了这个问题的范围(因为你还没有告诉我们你是如何你&#39;重新评估你的表达方式)。
假设您已将名称空间注册到名为aaa
的前缀。像这样选择所需的link
:
//aaa:link[@rel='create']
或者,更具体地说:
/*/*/*/aaa:link[@rel='create']
答案 1 :(得分:0)
为了完整起见,在大多数情况下,这也可以在不注册命名空间的情况下实现,但代价是可读性降低:
/*/*/*/*[name()='link' and @rel='create']
这将选择名称为"link"
的所有元素(无论它们属于哪个名称空间),并且具有rel
属性,其字符串值为"create"
,并且是宏大的 - XML文档顶级元素的子项。