【发布时间】:2017-08-24 07:01:01
【问题描述】:
我的 XML 看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="profile">
<section name="server1" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=a1a1a1a1a1a1a1a1, Custom=null" />
<section name="server2" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=a1a1a1a1a1a1a1a1, Custom=null" />
<section name="server3" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=a1a1a1a1a1a1a1a1, Custom=null" />
</sectionGroup>
</configSections>
<profile>
<server1>
<add key="server" value="serverName1" />
<add key="check" value="0" />
<add key="user" value="sa" />
<add key="psw" value="secret" />
<add key="show" value="1" />
</server1>
<server2>
<add key="server" value="serverName2" />
<add key="check" value="0" />
<add key="user" value="sa" />
<add key="psw" value="secret" />
<add key="show" value="1" />
</server2>
<server3>
<add key="server" value="serverName3" />
<add key="check" value="0" />
<add key="user" value="sa" />
<add key="psw" value="secret" />
<add key="show" value="1" />
</server3>
</profile>
</configuration>
我想创建 XSD 架构以进行验证。我已经尝试过使用在线 XSD 生成器(如 https://www.freeformatter.com/xsd-generator.html)以及 3 种 XSD 设计中的任何一种,但问题是如果 XML 中除了 3 之外还有任何其他数量的服务器,验证将不会通过。
非常感谢任何可以解释这种随机性的软件或其他在线 XSD 生成器的帮助或建议?
【问题讨论】:
-
在线生成器为此苦苦挣扎的原因是它糟糕的 XML 设计。只包含多个
<server>...</server>元素会更优雅、更容易解析和更容易生成。
标签: c# xml validation xsd