有没有办法删除包含其他几个节点但保留包含节点的节点?
我需要删除“AreaImageCaption”的所有实例,但需要保留“image”和“caption”
<products>
<product>
<name>100</name>
<AreaImageCaption>
<image>image1</image>
<caption>caption1</caption>
</AreaImageCaption>
<AreaImageCaption>
<image>image2</image>
<caption>caption2</caption>
</AreaImageCaption>
</product>
</products>
由于
答案 0 :(得分:0)
试试这个
string s =
@"<products>
<product>
<name>100</name>
<AreaImageCaption>
<image>image1</image>
<caption>caption1</caption>
</AreaImageCaption>
<AreaImageCaption>
<image>image2</image>
<caption>caption2</caption>
</AreaImageCaption>
</product>
</products>";
XElement element = XElement.Parse(s);
element.Descendants("AreaImageCaption").ToList().ForEach(aic =>
{
aic.Elements().ToList().ForEach(el => aic.Parent.Add(el));
aic.Remove();
});
string result = element.ToString();
我正在尝试添加<AreaImageCaption />
中的所有子元素并将其添加到其父级,然后删除<AreaImageCaption />
元素。