【发布时间】:2021-12-30 09:44:42
【问题描述】:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<Information>
<Group Title="Abc">
<Item Title="12" Visible="False">xxx</Item>
<Item Title="34">xxx</Item>
</Group>
<Group Title="Def" Visible="False">
<Item Title="56">xxx</Item>
</Group>
<Group Title="Ghi">
<Item Title="78">xxx</Item>
<Item Title="9">xxx</Item>
<Item Title="10" Visible="False">xxx</Item>
</Group>
</Information>
想要删除所有组(不仅是第一个或一个!)和所有(不仅是第一个或一个!)Visible=False 的项目,它逗我...
有了上面的 ex,我想要这个结果:
<?xml version="1.0" encoding="UTF-8"?>
<Information>
<Group Title="Abc">
<Item Title="34">xxx</Item>
</Group>
<Group Title="Ghi">
<Item Title="78">xxx</Item>
<Item Title="9">xxx</Item>
</Group>
</Information>
首先删除但不是全部: x.Descendants("Group").Where(p => p.Attribute("Visible").Value == "False").First().Remove(); x.Descendants("Item").Where(p => p.Attribute("Visible").Value == "False").First().Remove();
对我来说,使用 XmlDocument 还是 XDocument 并不重要,但我尝试使用 Linq ...
感谢您的帮助/想法...肯定有很多选择,但是...一个不错的选择:-)
【问题讨论】:
标签: xml linq linq-to-xml xmldocument