0

我正在使用 javax.xml.transform.Transformer 使用 XSLT 转换 XML。在其中一个属性名称中有特殊字符'/'。它失败并出现错误“与元素类型“XXXXXXX”关联的属性名称“XXX”必须后跟'='字符”。如果我在属性名称中删除 /,则 XML 将被解析。但这不是正确的修复。我们需要在转换 XML 时忽略这个特殊字符。请建议。

4

2 回答 2

1

您不是在尝试转换 XML,而是在尝试转换非 XML,因为如果属性名称中有“/”,那么它就不是 XML。因此,要么将内容更改为有效的 XML,要么寻找非 XML 工具来完成这项工作。

于 2012-05-31T09:20:57.893 回答
1

等等,你有一个属性名称包含斜线字符的 XML?

根据官方 XML 规范,这不是合法的属性名称。

http://www.w3.org/TR/xml/#NT-Name

所以你的 XML 是非法的。如果要处理属性名称中带有斜线的“XML”文档,则必须修改现成的解析器或编写自己的解析器。由于您的 XML 是非法的,因此您不能期望 XSLT 解析器能够正常工作。

于 2012-05-31T05:06:12.940 回答