Xml vb.net-获取XSD模式元素的Xpath

Xml vb.net-获取XSD模式元素的Xpath,xml,xpath,schema,Xml,Xpath,Schema,能否在vb.net中检索XSD架构文本元素的Xpath?例如,如何从以下模式获取此Xpath 父母/子女/孙子女 <?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

能否在vb.net中检索XSD架构文本元素的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。例如,如果父节点有一个child2节点,我可以将孙子节点child2作为祖先::父节点/child2获取

我的想法是,如果我有两个节点的完整xpath,我就可以确定相对路径祖先,即节点之间的后代。我会将每个文本节点的完整xpath存储在数据库中,最好采用更好的方法

我的问题是‘我可以从xsd模式生成完整路径吗?’

Alejandro,我想用//text从一个实例文档中完成这项工作,这很有效

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


谢谢您的回答。

您的问题不清楚。是否要从定义的架构为文本节点动态生成XPath表达式?我看不出有必要。。。您可以使用//text从文档中选择每个文本节点。您想要的输出是什么-父/子/孙?您的输入是什么-模式,以及告诉我们您要处理哪个元素的内容?如果是这样,可能会有很多XPath到达那里。