xml – 如何忽略未知标签的验证?
发布时间:2020-12-16 07:56:57 所属栏目:百科 来源:网络整理
导读:对XSD功能的另一个挑战是,我一直在发送我的客户端的XML文件,这些文件将包含0个或更多未定义或[调用]意外标记(可能出现在层次结构中).那么它们对我来说是多余的标签..所以我必须忽略它们的存在,但是随之而来的还有一些需要验证的标签. 这是一个示例XML: root
对XSD功能的另一个挑战是,我一直在发送我的客户端的XML文件,这些文件将包含0个或更多未定义或[调用]意外标记(可能出现在层次结构中).那么它们对我来说是多余的标签..所以我必须忽略它们的存在,但是随之而来的还有一些需要验证的标签.
这是一个示例XML: <root> <undefined_1>one</undefined_1> <undefined_2>two</undefined_2> <node>to_be_validated</node> <undefined_3>two</undefined_3> <undefined_4>two</undefined_4> </root> 和我试过的XSD: <xs:element name="root" type="root"></xs:element> <xs:complexType name="root"> <xs:sequence> <xs:any maxOccurs="2" minOccurs="0"/> <xs:element name="node" type="xs:string"/> <xs:any maxOccurs="2" minOccurs="0"/> </xs:sequence> </xs:complexType 由于某些原因,XSD不允许这样做. 如果你能得到它,请告诉我. 顺便说一句,替代解决方案是在验证过程之前插入XSL转换.好吧,我正在避免它,因为我需要更改触发验证过程的.Net代码,至少我的公司支持验证过程.
如果您尚未完成此操作,可以尝试以下操作:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="root" type="root"></xs:element> <xs:complexType name="root"> <xs:sequence> <xs:any maxOccurs="2" minOccurs="0" processContents="skip"/> <xs:element name="node" type="xs:string"/> <xs:any maxOccurs="2" minOccurs="0" processContents="skip"/> </xs:sequence> </xs:complexType> </xs:schema> 在Linux下,使用libxml版本20706可以很好地使用xmllint. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 《React全栈:Redux+Flux+webpack+Babel整合开发》--互动出
- 《不靠谱2.x》006.CCSprite(上)001 CCImage
- c – boost :: filesystem :: path :: native()返回std ::
- PostgreSQL源码分析: 动态Hash
- c# – 在KeyRoutedEventArgs事件中检测到修饰符键是否被压缩
- addEventListener函数
- c# – Microsoft XNA可以在Windows 10上运行吗?
- 我的第一个iphonet小程序诞生!
- flash – 安全性尝试从JS调用ActionScript函数时出错
- 解决JSONObject类找不到的问题