Java 如何使用xpath检索属性名中包含冒号的属性的值
我有一个简单的需求,其中我需要获取属性Java 如何使用xpath检索属性名中包含冒号的属性的值,java,android,xml,xml-parsing,saxparser,Java,Android,Xml,Xml Parsing,Saxparser,我有一个简单的需求,其中我需要获取属性xml:id的值,即af1。 我使用的是SAXParser,这是我的xpath:a/aff/@xml:id,相反,我能够获取使用xpath:a/aff/@value的值 但是我无法检索到值,你能帮我吗 <?xml version="1.0" encoding="UTF-8" ?> <a> <aff xml:id="af1" value="a"> <uAff> Hel
xml:id
的值,即af1
。
我使用的是SAXParser
,这是我的xpath:a/aff/@xml:id
,相反,我能够获取使用xpath:a/aff/@value
的值
但是我无法检索到值,你能帮我吗
<?xml version="1.0" encoding="UTF-8" ?>
<a>
<aff xml:id="af1" value="a">
<uAff>
Hello
</uAff>
</aff>
<aff xml:id="corr1">
<uAff>
Hello1
</uAff>
</aff>
</a>
你好
你好
提前感谢。/a/aff/@xml:id可以很好地获取值 您是否试图同时获得这两个值
如果试图仅获取第一个值,则可以使用/a/aff[1]/@xml:id获取可以使用的属性的值:
/a/aff/@*[name()='xml:id']
非常感谢:-)您的答案很准确:-)您能告诉我如何获取带有冒号的标记的值吗。如果它是aff:a,我们如何解析它?如果您有aff:a,那么aff必须是一个名称空间,这是另一个问题。请看这里:或者您可以使用local-name()而不是name(),FWIW如果没有冒号,您的答案是正确的,但是当有冒号时,它不会使用/a/aff/@xml:id这个xpath获取属性值。