Xml 1260中的Xpath查询:<;代表D=";苏格兰和南方能源公司;F=";10“&燃气轮机;1260</代表>;在塔伦德
这是我第一次处理xml数据 我的数据如下所示:Xml 1260中的Xpath查询:<;代表D=";苏格兰和南方能源公司;F=";10“&燃气轮机;1260</代表>;在塔伦德,xml,xpath,talend,Xml,Xpath,Talend,这是我第一次处理xml数据 我的数据如下所示: <Sp> <D> <Lo> <Period> <Rep D="SSE" F="10">1260</Rep> </Period> </Lo> </D> </Sp> 1260 我正在寻找值1260的xp
<Sp>
<D>
<Lo>
<Period>
<Rep D="SSE" F="10">1260</Rep>
</Period>
</Lo>
</D>
</Sp>
1260
我正在寻找值1260的xpath查询
我使用Talend并循环使用以Rep结尾的xpath。我已经能够检索所有其他数据,例如D,xpath查询是@D,但是如何获取值1260
有什么想法吗
提前谢谢 这个XPath
//Rep[.='1260']
//Rep[@D='SSE']
//Rep[@D='SSE']/text()
将选择字符串值为1260
的所有Rep
元素
这个XPath
//Rep[.='1260']
//Rep[@D='SSE']
//Rep[@D='SSE']/text()
将选择D
属性值等于SSE
的所有Rep
元素
你要找的是1260
本身,这个XPath
//Rep[.='1260']
//Rep[@D='SSE']
//Rep[@D='SSE']/text()
将选择上述
Rep
元素的所有文本节点子元素。谢谢您的回答。这些值不断变化,无论D或F的值是什么,我都希望在选择之前先选择数字。在本例中,它是1260,但它是独立的。是否有方法每次提取此值?//Rep/text()
将选择文档中所有Rep
元素的文本节点子元素,而不考虑@D
、@F
,以及Rep
的字符串值。这就是你想要的吗?//Rep/text()对我来说不正确,但我认为这是因为在Talend中,我已经在Rep周围循环了。。。最后,“text()”对我起了作用。谢谢你的帮助!如果上下文
是Rep
,则text()
将返回Rep
的文本节点子节点,正确。或者,string(.)
将返回Rep
元素的字符串值。很高兴你让它工作了。