显示xquery结果

时间:2016-10-17 17:58:16

标签: loops formatting xquery

我在xquery

中执行此功能
     declare function local:f(){
        for $Restaurant in collection("Guide")/Restaurants/Restaurant
        return 
        <Restaurants>
        {local:f()/Nom}
        {local:f()/Adresse}
        {local:f()/Telephone}
        </Restaurants>
        };

这是我从函数中获得的结果:

<Restaurants>
   <Nom>La ferme Saint-Simon </Nom>
   <Nom>La Romantique </Nom>
   <Adresse>
        <Num> 6 </Num>
        <Rue> rue Saint Simon </Rue>
        <Zip> 75007 </Zip>
        <Ville> Paris </Ville>
    </Adresse>
   <Adresse>
        <Num> 8 </Num>
        <Rue> Avenue A.Piat </Rue>
        <Zip> 14000 </Zip>
        <Ville> Cabourg </Ville>
    </Adresse>
   <Telephone> 01 45 48 35 74 </Telephone>
   <Telephone> 01 45 48 35 75 </Telephone>
   <Telephone> 02 31 24 10 92 </Telephone>
</Restaurants>

我想将显示更改为以下内容:

        <Restaurant>
        <Nom>La ferme Saint-Simon </Nom>
        <Adresse>
        <Num> 6 </Num>
        <Rue> rue Saint Simon </Rue>
        <Zip> 75007 </Zip>
        <Ville> Paris </Ville>
        </Adresse>
        <Telephone> 01 45 48 35 74 </Telephone>
        </Restaurant>

     <Restaurant>
        <Nom>La ferme Saint-Simon </Nom>
        <Adresse>
        <Num> 6 </Num>
        <Rue> rue Saint Simon </Rue>
        <Zip> 75007 </Zip>
        <Ville> Paris </Ville>
        </Adresse>
        <Telephone> 01 45 48 35 74 </Telephone>
        </Restaurant>

任何帮助,请我刚开始学习xquery?

1 个答案:

答案 0 :(得分:0)

在你的回报中引用变量$ Restaurant(而不是函数local:f()本身):

declare function local:f(){
    for $Restaurant in collection("Guide")/Restaurants/Restaurant
    return 
    <Restaurants>
        {$Restaurant/Nom}
        {$Restaurant/Adresse}
        {$Restaurant/Telephone}
    </Restaurants>
    };