2015-10-04 96 views
0

我想創建一個xq文件(XQuery),它接收包含以下代碼片段的XML文件,刪除「Ford,Harrison」的說2行&「Foster,Jodie」,然後返回保持XML原樣。我怎麼做?注意:這個xq文件將被Java程序處理。刪除少數節點的XQuery

<actors> 
    <actor id="00000015">Anderson, Jeff</actor> 
    <actor id="00000030">Bishop, Kevin</actor> 
    <actor id="0000000f">Bonet, Lisa</actor> 
    <actor id="00000024">Bowz, Eddie</actor> 
    <actor id="0000002d">Curry, Tim</actor> 
    <actor id="00000033">Dullea, Keir</actor> 
    <actor id="00000042">Fisher, Carrie</actor> 
    <actor id="00000006">Ford, Harrison</actor> 
    <actor id="00000045">Foster, Jodie</actor> 
...etc... 
</actors> 
+0

在您想要刪除的行中是否存在特定的內容? – pelumi

回答

2

最簡單的方法可能是重寫XML並排除不需要的節點。

let $exclude-names := ("Ford, Harrison", "Foster, Jodie") 
return 
    element actors { 
    $xml-file/actors/actor[not(. = $exclude-names)] 
} 
+0

這不會編譯!我如何設置$ xml文件?注意:這是我第一次使用XQuery。 – DilTeam

+0

@DilTeam它取決於您在示例中使用的XML所在的位置。 – wst