java - 禁用转义的 Java XML 文档 XPath
问题描述
目前,我需要在不转义的情况下获取 XML 的元素。
例如:
<?xml version="1.0" encoding="UTF-8"?>
<Message>
<Header>H001</Header>
<Body>
<Item>ABC&amp;ABC&quot;</Item>
</Body>
</Message>
我需要通过 XPath 获取“Item”元素的值。但是,它会自动转义。
我的结果 =ABC&ABC"
预期 =ABC&amp;ABC&quot;
我怎样才能得到期望值?
解决方案
XPath 将始终返回由 XML 解析产生的节点的值。在解析之后,XML 中 Item 元素的字符串值为 ,ABC&ABC"
这就是 XPath 为您提供的。如果需要ABC&amp;ABC&quot;
,则必须反转 XML 解析器的操作 - 这称为序列化。解析“取消转义”实体和字符引用(它变成&
)&
。序列化转义特殊字符,例如“&”(它变成&
)&
。
推荐阅读
- python-3.x - main() 是无效的语法?
- android - 使用 Glide 共享缓存图像会丢失扩展类型
- excel - 结果的两个 sigma std 上的 Excel 公式
- mysql - 在 SQL 中创建外键被认为不兼容,不知道为什么
- c# - 错误 MT2002:无法解析“System.Collections.Generic.Stack`1”
- arduino - Arduino 程序挂起不到 4-6 小时
- json - 以角度 7 显示 json 数据
- r - 尝试 diff 两次导致“强制引入的 NA”错误
- firebase - react-native-firebase 在通知到达时播放自定义声音
- jmeter - Jmeter:在主机中发现非法字符:'/'