更改XmlDocument中元素的顺序

本文关键字:顺序 元素 XmlDocument 更改 | 更新日期: 2023-09-27 18:21:31

这里是xml:的示例

<root>
<something1></something1>
<something2></something2>
<something3></something3>
<important>
<some1>123_random_number</some1><some2>ASD</some2>
</important>
<important>
<some1>456_random_number</some1><some2>FGH</some2>
</important>
<important>
<some1>789_random_number</some1><some2>JKL</some2>
</important>
</root>

我需要更改元素的顺序,以获得这样的xml文档:

<root>
<something1></something1>
<something2></something2>
<something3></something3>
<important>
<some1>789_random_number</some1><some2>JKL</some2>
</important>
<important>
<some1>456_random_number</some1><some2>FGH</some2>
</important>
<important>
<some1>123_random_number</some1><some2>ASD</some2>
</important>
</root>

有人能帮我吗?提前感谢,P

更改XmlDocument中元素的顺序

这很容易,但我是初学者:)答案是:

XmlReader reader = XmlReader.Create(@"dataIn.xml");
XmlDocument doc = new XmlDocument();
doc.Load(reader);
XmlNodeList elem = doc.GetElementsByTagName("important");
List<string> originalOrder = new List<string>();
foreach (XmlNode tag in elem)
  {
    originalOrder.Add(tag.InnerXml);
  }
int numberOfNodes = elem.Count;
for (int i = 0; i < numberOfNodes; i++) {
    elem[i].InnerXml = order[order.Count - 1 - i];
  }
doc.Save(@"dataOut.xml");