我试图通过XPath从我的XML中的特定键中提取值。
我有以下XML:
<?xml version="1.0" encoding="UTF-8"?>
<OMRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ApplicationId>User</ApplicationId>
<BusinessProcessId>GiftCard</BusinessProcessId>
<Data>
<Item>
<Key>fsf_addr</Key>
<Value>Lancelot</Value>
</Item>
<Item>
<Key>email_addr</Key>
<Value>TEST@TEST.COM</Value>
</Item>
</Data>
</OMRequest>
我希望通过XPath从value
获取key
,因此我想要一个返回值email_addr
的XPath。
我有以下XPath,但是,这将获取第一个值:
TEST@TEST.COM
。
我想知道我可以使用什么XPath来获取特定值?
答案 0 :(得分:1)
这个XPath应该
/OMRequest/Data/Item[Key[.="email_addr"]]/Value/text()
答案 1 :(得分:1)
有点晚了,但更简洁,更完整......
这个XPath,
string(/OMRequest/Data/Item[Key="email_addr"]/Value)
将选择与给定Value
元素关联的Key
元素的字符串值。
如果您希望返回并比较空间规范化的值而不是精确的字符串值,请将string()
替换为normalize-space()
,将Key
替换为normalize-space(Key)
。