gpt4 book ai didi

c# - 根据子节点对整个 xdocument 进行排序

转载 作者:数据小太阳 更新时间:2023-10-29 01:55:06 24 4
gpt4 key购买 nike

我有以下格式的 xml:

<?xml version="1.0" encoding="utf-8"?>
<contactGrp name="People">
<contactGrp name="Developers">
<customer name="Mike" ></customer>
<customer name="Brad" ></customer>
<customer name="Smith" ></customer>
</contactGrp>
<contactGrp name="QA">
<customer name="John" ></customer>
<customer name="abi" ></customer>
</contactGrp>
</contactGrp>

我想根据他们的姓名对客户列表进行排序,并按以下格式返回文档:

<?xml version="1.0" encoding="utf-8"?>
<contactGrp name="People">
<contactGrp name="Developers">
<customer name="Brad" ></customer>
<customer name="Mike" ></customer>
<customer name="Smith" ></customer>
</contactGrp>
<contactGrp name="QA">
<customer name="abi" ></customer>
<customer name="John" ></customer>
</contactGrp>
</contactGrp>

我正在使用 C#,目前使用的是 xmldocument。

谢谢

最佳答案

你可以这样做

var doc = XDocument.Load(/* ... */);

foreach (var g in doc.Descendants("contactGrp"))
{
var customers = g.Elements("customer").ToList();
customers.Remove();
g.Add(customers.OrderBy(c => c.Attribute("name").Value));
}

关于c# - 根据子节点对整个 xdocument 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5136109/

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