私は変更が必要なXMLファイルを持っています。まずグループを作ってから、いくつかのノードを除外する必要があります。ここでXPath/XQuery - いくつかの要素を除外しながらノードを選択
<cars>
<car>
<make>Toyota</make>
<model>Camry</model>
<color>White</color>
<price>123</price>
</car>
<car>
<make>Honda</make>
<model>Accord</model>
<color>White</color>
<price>423</price>
</car>
</cars>
は、変換を行います私のコードです:
<root>
{
for $color in distinct-values(doc('cars.xml')//cars/car/color)
let $car := doc('cars.xml')//cars/car
return <appearance color="{$color}">
{ $car[color eq $color ] }
</appearance>
}
</root>
私が手:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<appearance color="White">
<car>
<make>Toyota</make>
<model>Camry</model>
<color>White</color>
<price>123</price>
</car>
<car>
<make>Honda</make>
<model>Accord</model>
<color>White</color>
<price>423</price>
</car>
</appearance>
</root>
は、これは私が一つの問題を除いて必要なものの95%を行います。グループ化を維持しながら、最終的なXMLからノード "color"と "price"を除外する必要があります。
は、私は私のreturn文で次の操作を行うことを試みた: {$カー[カラーEQの$色]/* [ない(自己::価格)] [ない(自己::色)]}作品の並べ替えが、それは完全に "車"の要素を排除!!何かアドバイス?