gpt4 book ai didi

xquery - 如何使用 XQuery 更改 XML 结构

转载 作者:行者123 更新时间:2023-12-05 00:27:25 25 4
gpt4 key购买 nike

我有一个 XML 文件,其中包含员工姓名和他们完成的工作。
XML 文件的结构是 -

<Employee>AAA@A#B#C#D</Employee>
<Employee>BBB@A#B#C#D</Employee>
<Employee>CCC@A#B#C#D</Employee>
<Employee>DDD@A#B#C#D</Employee>

有数千条记录,我必须将结构更改为 -
<Employee>
<Name>AAA</Name>
<Jobs>
<Job>A</Job>
<Job>B</Job>
<Job>C</Job>
<Job>D</Job>
</Jobs>
</Employee>

如何在 BaseX 中使用 XQuery 完成这项工作?

最佳答案

3 个 XQuery 函数,substring-before , substring-aftertokenize用于获取
所需的输出。
substring-before用于获取名称。

同样,substring-after用于获取 Job 部分。

然后是tokenize函数,用于拆分Jobs。

let $data :=
<E>
<Employee>AAA@A#B#C#D</Employee>
<Employee>BBB@A#B#C#D</Employee>
<Employee>CCC@A#B#C#D</Employee>
<Employee>DDD@A#B#C#D</Employee>
</E>


for $x in $data/Employee
return

<Employee>
{<Name>{substring-before($x,"@")}</Name>}
{<Jobs>{
for $tag in tokenize(substring-after($x,"@"),'#')
return
<Job>{$tag}</Job>
}</Jobs>
}</Employee>

哈...

关于xquery - 如何使用 XQuery 更改 XML 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20737903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com