目前我有一个解决方案,它在许多部分中构建XML文档,然后针对单个模式验证最终的连接xml。是否可以使用同一模式的子集来单独验证每个部分?在c#中使用模式子集验证xml子集XmlDocument
1
A
回答
1
在大多数情况下答案是肯定的。对于免责声明,从理论上讲,有人可能会故意写出一个XML Schema,这会使我的一些提议变得不可能,但这在XSD创作中只是不好的做法。
对于直接的解决方案,下面假设应为真:
A节是公形成XML;您将连接XmlElement节点。例如:
<部元件...属性内容> ...更多内容 < /节元件>
区段中的每一个被合并具有匹配XML模式集中的全局元素声明。如果对任何部分使用xsi:type属性,事情可能会有点棘手,但不难解决。
验证将是通用的代码,其中XmlReader将是你的串联节点上的XmlNodeReader。像往常一样使用XmlReaderSettings ...
以上将适用于任何XSD(您没有知道XSD的设计时间依赖性)。对于以下任何情况,代码必须与您的XSD匹配...
如果您在XML模式中没有匹配的全局元素,那么您必须查看每个匹配的本地元素声明的类型。如果该类型是全局类型,则可以在内存中轻松创建与您的部分匹配的全局类型的虚拟元素(假设为Venetian Blind创作风格)。
如果连这个类型都是匿名的(更多的是俄罗斯娃娃风格),那么你甚至可以通过创建一个类型为匿名类型副本的全局元素来伪造这个全部内存。
相关问题
- 1. 子集验证使用递归C++
- 2. 子集在XML
- 3. 从XML模式进行C#数据集验证
- 4. 使用jQuery验证插件验证表单子集
- 5. 在XML模式中验证不同的必需属性集
- 6. 子集DNAStringSet的子模式,并删除R中的子模式
- 7. 验证用户输入HTML子集
- 8. C#中的枚举子集或子集
- 9. 使用XmlDocument在xml中添加子元素C#
- 10. C#intra-app Generic Pub/Sub子集模式
- 11. 如何使用xml模式验证xml?
- 12. 验证输入元素的子集
- 13. 验证XML文档的一个子集或仅某些元素?
- 14. 使用XSD验证XmlDocument
- 15. SQL Server集成身份验证模式
- 16. 如何分析使用XmlDocument的C#与孩子XML属性?
- 17. 验证XML模式的XML模式?
- 18. 使用.NET根据模式验证XML
- 19. 使用XSD进行XML模式验证
- 20. C#XMLReader - 多个子集合失败通过XSD架构验证
- 21. 使用XmlDocument格式化XML
- 22. 用C子集和递归++
- 23. R XML到DataFrame子集化
- 24. LINQ为XML的子集
- 25. 使用孩子的孩子收集过滤孩子集合
- 26. 通过C#验证XML模式
- 27. 平均子集的子集
- 28. 发生错误在嵌套子模式集合使用猫鼬
- 29. 胡子JS模板使用JSON收集
- 30. XML模式元素支持的子集:真相还是假的?