java - 如何在 java 中读取 XML 样式的文本文件?
问题描述
我想阅读下面的Java文本格式的XML文件,
XML 文件:
<Sample>
<DATA>
<ID>12345</ID>
<NAME>Person1</NAME>
<MAIL>sa@gmail.com</MAIL>
<Class>A&B</Class>
</DATA>
<DATA>
<ID>12345</ID>
<NAME>Person1</NAME>
<MAIL>sa@gmail.com</MAIL>
<Class>A<B</Class>
</DATA>
</Sample>
我使用 JAXB 来读取这个 xml 文件,为此我也添加了一个带有注释的 POJO 类。在解组 XMl 文件时出现以下异常
[org.xml.sax.SAXParseException : The entity must immediately follow the '&' in the entity reference.]
任何人都可以建议我阅读此 xml 的最佳方法吗?
解决方案
请参阅链接- 如错误所述,XML 需要实体引用。您需要使用&
, and>
来表示大于号。您正在使用的 Saxon 库应正确处理这些 URL 编码的字符。
当 XML 解析器在 XML 数据中找到一个 & 符号时,它希望找到一个符号名称和一个分号。符号名称提供对另一个实体或字符的符号引用,例如与号、大于和小于字符。
推荐阅读
- microsoft-graph-api - 对于 signInActivity/lastSignInDateTime,组合选择和筛选 MS-Graph 查询参数未按预期工作
- ubuntu - EFS 挂载失败并出现 mount.nfs4:服务器拒绝访问
- sql - SQL LIKE 使用相同的行值
- python - sqlalchemy.dialects.postgresql 没有属性,但文件存在
- javascript - 如何仅使用正则表达式替换 HTML 组件
- ios - 使用 Amplify 从 iOS swift 调用 aws lambda 函数
- javascript - 制作
使用 JS 或 JQuery 在一定时间后消失
- java - 如果在写入文件时发生错误,如何防止文件擦除?
- javascript - Electron:Windows 上的 localStorage 无法正常工作
- scala - 如何在 sbt 的源目录中匹配多个特定的 scala 版本