首页 > 解决方案 > 禁用转义的 Java XML 文档 XPath

问题描述

目前,我需要在不转义的情况下获取 XML 的元素。

例如:

<?xml version="1.0" encoding="UTF-8"?>
<Message>
      <Header>H001</Header>
      <Body>
            <Item>ABC&amp;amp;ABC&amp;quot;</Item>
      </Body>
</Message>

我需要通过 XPath 获取“Item”元素的值。但是,它会自动转义。

我的结果 =ABC&amp;ABC&quot;

预期 =ABC&amp;amp;ABC&amp;quot;

我怎样才能得到期望值?

标签: javaxmlxpath

解决方案


XPath 将始终返回由 XML 解析产生的节点的值。在解析之后,XML 中 Item 元素的字符串值为 ,ABC&amp;ABC&quot;这就是 XPath 为您提供的。如果需要ABC&amp;amp;ABC&amp;quot;,则必须反转 XML 解析器的操作 - 这称为序列化。解析“取消转义”实体和字符引用(它变成&amp;&。序列化转义特殊字符,例如“&”(它变成&&amp;


推荐阅读