我有一个巨大的XML文档,其中一部分是
<tracklist>
<track>
<position>A1</position>
<title>Un Momento Solo (North 5th. St. Dub)</title>
<duration>6:04</duration>
</track>
<track>
<position>A2</position>
<title>Your Love Is Incredible</title>
<duration>6:44</duration>
</track>
<track>
<position>B1</position>
<title>Roots</title>
<duration>7:43</duration>
</track>
<track>
<position>B2</position>
<title>Un Momento Solo (Straight Up Mix)</title>
<duration>7:06</duration>
</track>
</tracklist>
我想向名为tracklist
的{{1}}添加一个属性,其中tot
下的子节点总数称为tracklist
track
然而,我收到错误
for $i in db:open("releases1","releases.xml")/releases/release
return update insert attribute tot {count($i/tracklist/track)} into
$i/tracklist/track
答案 0 :(得分:0)
这是一个次要的语法问题。更新语句的语法是
insert node [node] into [target-node]
其中关键字insert node
总是一起出现,如果我记得在这里正确使用两个单词有一些语法上的原因(否则,在解析过程中可能会有一些歧义)。
对于您的示例,请移除update
关键字(不存在)并添加缺少的node
:
for $i in db:open("releases1","releases.xml")/releases/release
return insert node attribute tot {count($i/tracklist/track)} into
$i/tracklist