我在BaseX中存储了两个XML文档,即医院和办公室。
以下是office 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>
在这个XML中,我想添加一个或多个员工。如何使用BaseX添加元素?
答案 0 :(得分:9)
XQuery有一个更新工具,official W3C recommendation,称为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
这将在$up
staff
引用的节点
BaseX Documentation Wiki包含有关更新的更多信息:
xmlmind.com提供了一个很好的教程XQuery Update for the impatient。
果然你可以使用API发出这些查询,首先我建议你坚持使用GUI,这样你就可以直接看到结果。
希望这有所帮助,随时可以要求提供更多信息;无论是在这里还是在官方BaseX Mailing List上。