2009-05-10 8 views
0

Pour, par exemple, il y a un xml:contenu de la chaîne Obtenir de l'élément mixte complexe avec XQuery

<article-list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="3.xsd"> 
    <article section="physics"> 
     Increasing linear dynamic range of commercial digital photocamera 
     <author>M. V. Konnik</author> 
     <content> 
      Methods of increasing linear optical dynamic range 
     </content> 
    </article> 

mon but est d'interroger le contenu de la chaîne de l'élément article. I.e. .:

Increasing linear dynamic range of commercial digital photocamera 

La solution évidente comme ceci:

<!--xquery--> 
{ 
for $article in doc("name.xml")//article-list/article 
    where $article/receiving-date > xs:date("2005-01-01") 
    return 
     <article> 
      {$article} 
     </article> 
} 

retours tout article arbre, non seulement une chaîne.

Répondre

0

$ article est un élément, pas un nœud. Pour obtenir le texte (le texte que vous voulez est en fait le nœud enfant texte du nœud $ article), vous avez juste besoin de:

{$article/text()} 
+0

Merci ça a marché! – skfd

Questions connexes