gpt4 book ai didi

java - 使用 Saxon 进行转换时处理 XML 中的特殊字符

转载 作者:行者123 更新时间:2023-12-02 00:54:41 26 4
gpt4 key购买 nike

我正在尝试使用 Saxon 将样式表应用到 XML 文档。给定一个在 Microsoft Word 中生成的 XML 文件,该文件具有 Microsoft Word 样式的引号,例如以下文档中的 FOO 周围

<?xml version="1.0" encoding="UTF-8"?>
<doc>
<act>
<performer typeCode=“FOO“ />
<performer typeCode="BAR" />
</act>
</doc>

撒克逊抛出以下错误:

SXXP0003: Error reported by XML parser: Invalid byte 1 of 1-byte UTF-8 sequence.

处理 XML 中这些类型的“特殊”字符的最佳方法是什么?这些字符原本是有效的,但在实际解析/转换中却被破坏了?

最佳答案

由于上面的内容不是有效的 XML,因此您必须对输入进行一些预处理(例如使用 FilterReader),因为几乎任何 XML 解析器都会指示错误(通常是 fatal error )错误,因此您无法处理错误并继续)。

如果特殊引号仅存在于 xml 中,您可以简单地将特殊引号替换为普通引号(如果您必须检查编码类型的前导码,则需要做更多工作)。如果您想在文档中的其他地方保留特殊引号,您将不得不做一些更复杂的事情(主要是跟踪您是否在标签中)。

关于java - 使用 Saxon 进行转换时处理 XML 中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1400627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com