我想从值为字符串的XML访问节点

时间:2019-05-06 19:36:33

标签: xpath

我有一个XML,该XML的节点带有一个

value(<name>  <name1>   <name2>value</name2>    </name1> </name>), 

问题在于此值是未转换为XML的XML。
如何通过节点name2访问此值?

我使用了以下两个功能:

substring-before(string, string)
substring-after(string, string) to return what i want and it works

问题是我无法在正在使用的应用程序中使用这种功能,因为它具有XPath的原始版本,该版本不接受高级XPath。

<Input>
 <Response>
&lt;name&gt;    &lt;name1&gt;   &lt;name2&gt;value&lt;/name2&gt;    &lt;/name1&gt; &lt;/name&gt;
 </Response>
</Input>

<name2>value</name2>

1 个答案:

答案 0 :(得分:0)

您的代码不是格式正确的 XML。
但是您可以使用sed来预处理 ,例如:

sed -e "s/&lt;/</g; s/&gt;/>/g" input.xml

此命令将所有&lt;&gt;实体分别更改为<>
转换之后,您可以将XML解析器应用于数据。