我正在使用javax.xml.transform.Transformer来使用XSLT转换XML。 在其中一个属性名称中有特殊字符'/'。它失败了,错误“属性名称”XXX“与元素类型相关联”XXXXXXX“必须后跟'='字符”。如果我删除/ in属性名称,则会解析XML。但这不是正确的修复。我们需要在转换XML时省略这个特殊字符。请建议。
答案 0 :(得分:1)
等等,你有XML,其中属性 name 包含斜杠字符?
根据官方XML规范,不是合法的属性名称。
http://www.w3.org/TR/xml/#NT-Name
所以你的XML是非法的。如果要在属性名称中使用斜杠处理“XML”文档,则必须修改现成的解析器或编写自己的解析器。由于您的XML是非法的,因此您无法期望XSLT解析器能够正常工作。
答案 1 :(得分:1)
您没有尝试转换XML,而是尝试转换非XML,因为如果您在属性名称中有“/”,那么它不是XML。因此,要么将内容更改为有效的XML,要么寻找非XML工具来完成工作。