繁体   English   中英

解析时如何忽略不在XSD模式中的元素

[英]how to ignore elements not in the XSD schema while parsing

我在Java中有要求解析XML并跳过XSD架构中未定义的任何标签。 换句话说,仅解析Schema中的元素,而忽略其他元素,而不会发生验证错误。 仅当在XSD中找到的元素具有不同的数据类型时,才会存在验证错误。

**非常简单的模式:-**根包含x,y,z所有字符串。

例子1

<root>
    <x>anyvalue</x>
    <y>anyvalue</y>
    <z>anyvalue</z>
</root>

结果1

<root>
    <x>anyvalue</x>
    <y>anyvalue</y>
    <z>anyvalue</z>
</root>

示例2:

<root>
    <x>anyvalue</x>
    <notdefined>anyvalue</notdefined>
    <z>anyvalue</z>
</root>

结果2:-

<root>
    <x>anyvalue</x>
    <z>anyvalue</z>
</root>

例子3:-

<root>
    <notdefined>anyvalue</notdefined>
    <x>anyvalue</x>
    <z>anyvalue</z>
</root>

结果3:-

<root>
    <x>anyvalue</x>
    <z>anyvalue</z>
</root>

如果要编写模式,请使用带有processContents =“ skip”或processContent =“ lax”的通配符,以确保未声明的元素不会产生有效性错误。

如果您正在使用现有架构,则请检查解析器/验证器是否允许您过滤看到的错误,或者从现有架构派生辅助架构。 使用通配符使事物在辅助架构中有效,即使它们在主架构中无效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM