2015-11-29 44 views
-1

好的,多虧了Choroba的幫助。我還有一個問題,當我有更多然後一個頭元素,這樣帶有多個元素的XPath連續導航

<test> 
    <head> 
     <persName type="sender" xml:id="ID.1"> 
      <forename>Max</forename> 
      <surname>Mustermann</surname> 
     </persName> 
     <persName type="adresser" xml:id="ID.30"> 
      <forename>Susi</forename> 
      <surname>Kraft</surname> 
     </persName> 
    </head> 
    <head> 
     <persName type="sender" xml:id="ID.2"> 
      <forename>Max1</forename> 
      <surname>Mustermann1</surname> 
     </persName> 
     <persName type="adresser" xml:id="ID.31"> 
      <forename>Susi</forename> 
      <surname>Kraft1</surname> 
     </persName> 
    </head> 
    <head> 
     <persName type="sender" xml:id="ID.3"> 
      <forename>Max1</forename> 
      <surname>Mustermann2</surname> 
     </persName> 
     <persName type="adresser" xml:id="ID.32"> 
      <forename>Susi</forename> 
      <surname>Kraft2</surname> 
     </persName> 
    </head> 
</test> 

然後我的XPath查詢將返回我從沒有到的結果。我想我已經與XPath軸,但是如何導航..

concat('From ', 
descendant-or-self::head/persName[@type="sender"]/surname, 
' to ', 
descendant-or-self::head/persName[@type="adresser"]/surname) 

我也得到了這樣的錯誤消息,我與氧 「一個以上項目的序列工作是不允許的CONCAT的」

+0

中的XPath,'後代或自身::頭/ persName [ @類型= 「sender」]/surname',這是'concat()'中的第二個參數,返回3個值(來自您提供的輸入XML);但'concat()'函數的每個參數不得超過1個值。因此錯誤。這同樣適用於第四個參數。 –

+0

你期望輸出什麼?添加上一個問題的鏈接也很方便。 – choroba

+0

好的,我期待。 發件人Mustermann adresser卡夫 發件人Mustermann1 adresser Kraft1 發件人Mustermann2 adresser Kraft2 http://stackoverflow.com/questions/33988090/xpath-and-concat-elements-and-text – Mchoeti

回答

0

這第二個參數是工作在我的例子,

//persName[@type="creator"]/concat("von ", surname , " to " , 
ancestor::head/persName[@type="addressee"]/surname) 

有一個良好的時間和新年快樂