【问题标题】:vb.net - Getting the Xpath of XSD schema elementsvb.net - 获取 XSD 模式元素的 Xpath
【发布时间】:2010-09-26 09:08:38
【问题描述】:

可以在 vb.net 中检索 XSD 架构 text() 元素的 Xpath 吗?例如,如何从以下架构中获取此 Xpath;

父母/子女/孙子女

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified"
           elementFormDefault="qualified"
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="parent">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="child">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="grandchild"
                                        type="xs:string" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

【问题讨论】:

  • 你的问题不清楚。您想从定义的模式中为文本节点动态生成 XPath 表达式吗?我看不出有必要...您可以使用 //text() 从文档中选择每个文本节点。
  • 你想要的输出是什么——“父/子/孙子”?你的输入是什么——模式,以及告诉我们你想要解决什么元素的东西?如果是这样,可能有很多 XPath 可以到达那里。

标签: xml xpath schema


【解决方案1】:

我的基本目标是确定(在代码中)任意两个节点之间的 xpath。例如,如果父节点有一个 child2 节点,我可以获取孙子节点的 child2 节点作为祖先::parent/child2

我的想法是,如果我有两个节点的完整 xpath,我可以确定节点之间的相对路径(祖先、后代)。我会将每个文本节点的完整 xpath 存储在数据库中(将不胜感激)。

我的问题是“我可以从 xsd 架构生成完整路径吗?”

Alejandro,我曾想过使用 //text() 从实例文档中执行此操作,并且可行。

LarsH,我相信孙节点和child2节点之间只有一条路径。

感谢您的回复。

【讨论】:

    猜你喜欢
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 2012-08-10
    • 2017-05-14
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    相关资源
    最近更新 更多