根据一个脚本中的条件删除多个属性

时间:2019-04-11 12:09:49

标签: xquery basex

我有20-24个xml文件,如果它们包含某些属性值,我想在其中删除整行,它们或多或少像这样嵌套(1个元素和大量的属性/值对):

<?xml version="1.0" encoding="UTF-8"?>
<RT_VAL_ACC STATUS="0" ADDITIVE="" SRC_PID="" REASON="" F001="V6050" ACCID1="00000000DUMMYGMP_001DUMDER_001L" VALID1="11" ACC206="0"/>
<RT_VAL_ACC STATUS="0" ADDITIVE="" SRC_PID="" REASON="" F001="V6050" ACCID1="00000000DUMMYGMP_001DUMDER_001L" VALID1="12" ACC206="-1"/>

<?xml version="1.0" encoding="UTF-8"?>
<document date="2019-01-31" level="V6050" name="mpeMasterTablesExport">
<RT_REL_ENT_ACC STATUS="0" ADDITIVE="" SRC_PID="" REASON="" F001="V6050" ENTID1="00000000DUMMYGMP_001" ACCID1="00000000DUMMYGMP_001DUMDER_001L" RELID1="10"/>
<RT_REL_ENT_ACC STATUS="0" ADDITIVE="" SRC_PID="" REASON="" F001="V6050" ENTID1="00000000DUMMYGMP_001" ACCID1="0000000000000000000DUMMYGMP_KTO_045" RELID1="14"/>

我将所有这些都放入了一个baseX数据库中以对其进行操作,它们本身下面的查询工作得很好:

for $x in //RT_VAL_ACC
where $x[@VALID1=(11,12,19,21,22,25,26,31,45,48)]
return delete node $x

for $x in //RT_REL_ENT_ACC
where $x[@RELID1=(14,15,16,17,19)]
return delete node $x

如何将上面的2个(或更多)查询合并为1个最终脚本,而不必连续执行多个查询?看起来很简单,但我似乎无法将我在这里可以使用的xquery选项包裹住……

1 个答案:

答案 0 :(得分:0)

已解决:只需在查询之间添加“,” ...