我是XML验证的新手。请原谅我的无知:(
我需要使用DocumentBuilderFactory验证xml。
示例输入XML
<FirstElement>
<ChildElement></ChildElement>FirstElementValue
</FirstElement>
预期结果:
应抛出异常,说明在<FirstElement> </FirstElement>
实际结果:
<FirstElement> </FirstElement>
内的值将被解析如下。
<FirstElement>
< ChildElement > < / ChildElement > FirstElementValue
</FirstElement>
由于该值被解析为"<"
而不是"<"
,因此在验证Schema时,XML验证不会失败。我过去一直在努力解决这个问题几天..请用示例代码向我建议。感谢
答案 0 :(得分:0)
请提供架构和代码。提供的信息不足以提供帮助。无论如何,我试图提供一些方向以帮助。
将数据解释为字符串仍应给出错误,即XSD写得正确。
e.g。对于以下架构
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="FirstElement">
<xs:complexType>
<xs:sequence>
<xs:element ref="ChildElement"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ChildElement" type="xs:string"/>
</xs:schema>
XML对上述xsd:
有效<FirstElement>
<ChildElement>FirstElementValue</ChildElement>
</FirstElement>
但以下内容无效
<FirstElement>
<ChildElement></ChildElement>FirstElementValue
</FirstElement>