【发布时间】:2013-02-20 07:07:43
【问题描述】:
假设我有以下 XML 文档:
<foo>
<bar/>
<bang bash="hello">
<foobar>123</foobar>
</bang>
</foo>
我想提取本文档中各个叶子的所有路径列表,例如:
foo
foo.bar
foo.bang
foo.bang.@bash
foo.bang.foobar
这个过程有术语吗?
更进一步:假设我有一个 .xsd 用于一个真正异常复杂的 XML 模式。有没有一种简单的方法可以从 .xsd 中提取所有此类路径?
(通过简单的方式,理想情况下,我的意思是某处是否存在执行此操作的库?)
【问题讨论】:
-
如果包含数据类型信息(foo:complex、foo.bang.bash:String、foo.bang.foobar:int 等),则会获得奖励分
-
如果您可以使用 .NET,则可以使用 XmlSchemaValidator 的
GetExpectedParticles方法从根元素下降 - 不过这会很复杂,如前面的 StackOverflow answer 所示 -
撒克逊人的Schema Component Model API 在这里也可能有用