1
<?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

4

2 回答 2

0

为了完整起见,在大多数情况下,这也可以在不注册命名空间的情况下实现,但会降低可读性:

/*/*/*/*[name()='link' and @rel='create']

这将选择名称为"link"(无论它们属于哪个名称空间)且具有rel字符串值为 的属性"create"以及 XML 文档顶部元素的 grand-grand-children 的所有元素。

于 2012-07-12T12:38:47.603 回答
0

目标元素位于默认命名空间中。首先,您需要向您的 XPath 引擎注册该名称空间。你如何做到这一点取决于你使用的工具,这意味着它超出了这个问题的范围(因为你还没有告诉我们你是如何评估你的表达式的)。

假设您已将命名空间注册到名为aaa. 像这样选择所需的link

//aaa:link[@rel='create']

或者,更具体地说:

/*/*/*/aaa:link[@rel='create']
于 2012-07-11T21:24:46.170 回答