2014-09-29 99 views
1

當我使用下面的XQuery時,我什麼也沒有收到或「Error XQDY0025」。但是,eXide顯示「在0.004s中找到4」,請幫助我,我找不到問題。無法獲取屬性值或獲取XQuery中的錯誤XQDY0025

for $s in doc("customers.xml")/customers/Customer 
return $s/@Name 

查詢從下面的XML文檔Name屬性:

<customers> 
    <Customer Name="c2"> 
     <Order OrderNumber="o1"> 
      <Item Description="ab">i1</Item> 
     </Order> 
    </Customer> 
    <Customer Name="c3"> 
     <Order OrderNumber="o2"> 
      <Item Description="cd">i2</Item> 
      <Item Description="ef">i3</Item> 
     </Order> 
     <Order OrderNumber="o2"> 
      <Item Description="cfg">i5</Item> 
     </Order> 
    </Customer> 
    <Customer Name="c1"> 
     <Order OrderNumber="o1"> 
      <Item Description="abc">i1</Item> 
      <Item Description="def">i2</Item> 
     </Order> 
    </Customer> 
    <Customer Name="c4"> 
     <Order OrderNumber="o1"> 
      <Item Description="abc">i1</Item> 
     </Order> 
     <Order OrderNumber="o2"> 
      <Item Description="def">i2</Item> 
     </Order> 
    </Customer> 
</customers> 

回答

4

錯誤代碼XQDY0025XQuery 1.0XQuery 3.0)意味着你已經嘗試使用相同的名稱添加兩個屬性相同元件。

XPath表達式沒有什麼問題 - 它返回一系列屬性節點,但由於所有這些節點都具有相同的名稱,因此不能將其中的一個以上添加到輸出中的相同元素。

+0

也許在數據函數中封裝'$ s/@ Name'將有助於@alex。例如'數據($ S/@名稱)'? – adamretter 2014-09-29 23:42:53

+0

謝謝大家,好像string($ s/@ Name)的作品 – alex 2014-09-30 00:45:12

相關問題