Sad*_*r N 6 xquery xml-database xquery-update basex
我在BaseX中存储了两个XML文档,即医院和办公室.
以下是办公室xml:
<Staff>
<Employee Name="Brian">
<Personal>
<SSN> 666-66-6666 </SSN>
</Personal>
<StaffInfo>
<Position> Doctor </Position>
<AccountableTo> David </AccountableTo>
</StaffInfo>
</Employee>
<Employee Name="David">
<Personal>
<SSN> 555-55-5555 </SSN>
</Personal>
<StaffInfo>
<Position> Doctor </Position>
<AccountableTo />
</StaffInfo>
</Employee>
</Staff>
Run Code Online (Sandbox Code Playgroud)
在这个XML中,我想添加一个或多个员工.如何使用BaseX添加元素?
mic*_*ael 10
XQuery有一个更新工具,一个官方的W3C推荐,称为XQuery Update,用于更改文档结构.
您可以使用如下更新:
鉴于您已使用命令创建了数据库员工:
CREATE DB office /path/to/office.xml
现在您可以使用XQuery Update工具并运行以下查询:
let $up := <Employee Name="Joe">
<Personal>
<SSN>666-66-1234</SSN>
</Personal>
<StaffInfo>
<Position>Doctor</Position>
<AccountableTo>Jeff</AccountableTo>
</StaffInfo>
</Employee>
return
insert node $up as last into doc('office')/Staff
Run Code Online (Sandbox Code Playgroud)
这将与$up
数据库中最后一个位置引用的节点相对应staff
该BaseX文件维基包含更新的详细信息:
有一个很好的教程,XQuery更新为 xmlmind.com提供的不耐烦.
当然你可以使用API发出这些查询,首先我建议你坚持使用GUI,这样你就可以直接看到结果.
希望这有帮助,随时可以要求更多信息; 无论是在这里还是在官方的BaseX邮件列表上.