2010-09-22 78 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節點之間只有一條路徑。

感謝您的回覆。