产生“轻松”的感觉来自 xml 的 xsd

发布于 2025-01-06 09:40:54 字数 194 浏览 1 评论 0原文

如何生成 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

抹茶夏天i‖ 2025-01-13 09:40:54

不幸的是,假设您的主要工件是 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文