【发布时间】:2009-04-30 18:25:37
【问题描述】:
我想知道解决这个问题的最佳方法: 我想从 xml 模式创建一个空白模板 xml。将创建所有必需的元素和属性,并且它们的值都是空字符串。
下一步是如何确定某个节点可能有哪些子 xml 节点。例如。我会选择一个节点具有 minOccurs="0", maxOccurs="unbounded" 的一个子节点。我将能够确定关于那个孩子的一切、它的属性、它的名字、它的值类型等等。
为了提供更多关于这种情况的背景信息,我正在开发一种工具,该工具允许用户在更用户友好的设置中编辑 xml 文件。例如,他们可以向“account db”节点添加一个新帐户,他们会看到唯一可用的节点是一个帐户节点。接下来,当他们尝试将子节点添加到帐户节点时,选择将是名称节点(必需)、密码节点(必需)、设置节点(可选)等。我如何以编程方式确定帐户节点可用于哪些子节点它以及这些孩子的属性和设置是什么?
这是在带有 .NET 2.0 的 C# 2.0 中。
总而言之,我使用哪些类来读取模式并解析它以获取用于创建 xml 的有用信息?在我的天真中,我曾希望,由于 xsd 本身就是 xml,所以会有某种我可以遍历的 DOM 模型。
我希望这仅限于我的程序,因此不要使用 OxygenXml、VS、xsd.exe 等外部工具。
【问题讨论】: