8
有没有办法将XPath的starts-with
函数应用于节点的名称而不是其值?我想从以下列表中的XML文档的FOObar
和FOObaz
节点而不选择notFOO
节点:XPath查询匹配特定模式的节点名称
<?xml version="1.0" encoding="UTF-8" ?>
<RootNode>
<FOObar xmlns="http://sample.example.com">
<value>numOne</value>
</FOObar>
<FOObaz xmlns="http://sample.example.com">
<value>numTwo</value>
</FOObaz>
<notFOO xmlns="http://sample.example.com">
<value>numThree</value>
</notFOO>
</RootNode>
我得到它的可以使用starts-with
基于文本节点,例如搜索
//sample:value[starts-with(.,'num')]
有没有办法来编写以下语法上有效的方法?
//sample:[starts-with(node(),'FOO')]
这个问题本来就与SSCCE,但现在的问题是回答,所有的代码只是混乱。当然,它仍然在revision history中可用。
啊,我一直在寻找像'本地名称()'几个小时。我开始认为没有这样的功能存在。 FYI为未来的访问者,这个答案是命名空间兼容的:''样品:* [开始(本地名称(),'FOO')]' – Pops 2012-02-06 21:30:29
本地名称的W3C规范:http:// www .w3.org/TR/XPath的/#功能 - 本地名称 – Pops 2012-02-06 21:42:09