2010-09-22 68 views
0

可以在vb.net中检索XSD架构text()元素的Xpath吗?例如,如何从以下模式获取此Xpath;vb.net - 获取XSD架构元素的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> 
+0

你的问题不清楚。您是否想要从已定义的模式动态生成文本节点的XPath表达式?我没有看到需要......你可以用'text()'从文档中选择每个文本节点。 – 2010-09-22 18:04:18

+0

你想要的输出是什么 - “父母/孩子/孙子”?你的输入是什么 - 模式,以及告诉我们你想要处理什么元素的东西?如果是这样,可能会有很多XPath到达那里。 – LarsH 2010-09-23 07:20:09

回答

0

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

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

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

亚历杭德罗,我想这是从一个实例文档使用// text()并且工作。

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

感谢您的回复。