首页 > 解决方案 > Xpath 查询 cdata

问题描述

如何使用 xpath 从 xml 获取值f89dcc8012314bb9b0de723f308bee49?该值可以存在于任何级别。

<root>     
<item>
       <category><![CDATA[umb://document/f89dcc8012314bb9b0de723f308bee49]]></category>
     </item>
   <item>
<label>
           <category><![CDATA[umb://document/f89dcc8012314bb9b0de723f308bee49]]></category>
</label>
     </item>
</root>

标签: c#xpath

解决方案


要选择项目或标签节点中的类别,您可以使用//*[self::item or self::label]/category. 这给了你#cdata-section,但提取 CDATA 中的部分字符串不是 xPath 的工作,因为这个值不是 XML 结构的一部分。为此使用子字符串、拆分字符串或正则表达式。


推荐阅读