验证具有'&amp ;;的XML '对抗XSD抛出'实体名称必须紧跟'&'在实体参考中“

时间:2015-06-18 07:04:18

标签: java xml xsd sax

我有一个包含'&'的xml在内容中,我试图使用以下代码验证xml aganist xsd

SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = factory.newSchema(new StreamSource(xsd)); Validator validator = schema.newValidator(); validator.validate(new StreamSource(xml));

当XML没有'&',

时,代码工作正常

但会抛出此错误

“实体名称必须紧跟'&'在实体参考“何时'&'包括在内。

任何有关解决这个问题的建议都很乐意接受。 提前致谢!! :)

编辑: 我一直在尝试使用& amp,我们必须使用& 解决了:))

3 个答案:

答案 0 :(得分:1)

您需要转义特殊字符,例如&。

&安培;用于表示其他特殊字符,例如&lt ;:& amp; lt;

替换&与& amp;

答案 1 :(得分:1)

要在XML文档中的文本中包含字符&,必须将其写为the character entity &或位于CDATA section内。

答案 2 :(得分:0)

'&'在XML内容中是非法的。你被允许改变XML吗?您可以使用CDATA section

包装有问题的内容