产生“轻松”的感觉来自 xml 的 xsd
如何生成 xsd 以便允许输入 xml 中的额外属性出现在某些标签中?
实际上,我正在使用 XmlReaderSettings 加载 XmlReader,该 XmlReaderSettings 是随 xsd 文件一起加载的。
我使用 xsd.exe /c input.xml (如果没有 /classes 开关,我会收到不允许嵌套列的错误)。
How can xsd be generated so as to allow extra attributes in input xml be present for some tags?
Actually I am loading XmlReader with XmlReaderSettings which is loaded with the xsd file.
I use xsd.exe /c input.xml (Without /classes switch I would get an error that nested columns are not allowed).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不幸的是,假设您的主要工件是 XML,则没有直接的方法可以完成这样的事情。您需要首先从 XML 生成 XSD,然后注入在适当的位置,然后从修改后的 XSD 生成类。
快速搜索 anyAttribute 可能会产生许多引用,例如 this。通常,您必须手动添加这些属性通配符,除非您有权使用可以为您完成此操作的自动 XML 架构重构。这应该允许您独立于手动更改重新生成“黄金”XSD。
Unfortunately, assuming your primary artifact is your XML, there is no direct way to do such a thing. You will need to first generate an XSD from your XML, then inject <xs:anyAttribute/> in the appropriate places, then from that modified XSD generate the classes.
A quick search for anyAttribute may yield a number of references, such as this. Typically, you will have to add these attribute wildcard by hand, unless you have access to an automatic XML Schema refactoring that can do that for you. This should allow you to regenerate your "gold" XSD independently of your manual changes.