我正在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添加元素?
XQuery有一个更新功能,W3C的官方建议称为XQuery更新,用于更改文档结构。
你可以使用这样的更新:
假设您已经创建了一个员工数据库,命令为:
CREATE DB office /path/to/office.xml
现在您可以使用XQueryUpdate工具并运行以下查询:
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
这将在数据库staff
的最后一个位置广告$up
引用的节点
BaseX文档Wiki包含更多更新信息:
xmlmind.com.提供了一个很好的教程,即针对不耐烦者的XQuery更新
当然,您可以使用API来发出这些查询,首先我建议您使用GUI,这样您就可以直接看到结果。
希望对此有所帮助,可以随时询问更多信息;无论是在这里还是在BaseX官方邮件列表上。