我正在尝试选择 XML 节点中的一个属性,如下所示:
<tdf:TrustedDataObject xmlns="urn:com:bank:baml:tdf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" >
我可以使用 Firepath 找到节点,如下所示:
/*[local-name()='TrustedDataObject']
但如果我想选择节点内的某个属性(例如 gml 属性),我不知道如何执行此操作。我尝试了几种不同的方法,例如:
/*[local-name()='TrustedDataObject']/@gml
or
/*[local-name()='TrustedDataObject'][gml]
而且它们不匹配任何东西。
有人有一些建议吗?我知道这不是完整的代码,我现在无法访问整个文档,所以我很抱歉。
EDIT- 好吧,我不确定是否应该开始另一个问题或只是编辑我的原始问题。我知道尝试访问命名空间属性时存在限制,但实际上我想做的是在NoticeText 中的属性上创建一个内容节点,例如ownerProducer 和pocType。
<document>
<tdf:TrustedDataObject xmlns="urn:com:bank:baml:tdf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" >
<ism:Notice ism:classification="X" ism:ownerProducer="ABC" ism:noticeType="POC" ism:externalNotice="true">
<ism:NoticeText ism:classification="X" ism:ownerProducer="ABC" ism:pocType="JJJ-710">John Smith, Walmart, [email protected] /cdn-cgi/l/email-protection</ism:NoticeText>
</ism:Notice>
</tdf:TrustedDataObject>
<document>
同样,我认为能够使用 local-name() 向下遍历到NoticeText节点应该可行。像这样的东西吗?
//*[local-name()='NoticeText']/@ownerProducer
再次感谢您的帮助。也许您告诉我所有这些属性都无法通过 xpath 访问......