C# xml 根据属性排序然后保存回文件,或者根据属性按顺序读取
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<item>
<i1 Tag = "1" ></i1>
<i2 Tag = "3" ></i2>
<i3 Tag = "2" ></i3>
<i7 Tag = "7" ></i7>
<i4 Tag = "4" ></i4>
<i5 Tag = "5" ></i5>
<i6 Tag = "6" ></i6>
</item>
</configuration>
public void SortXMLDoc_Test(string address)
{
XmlDocument dom = new XmlDocument();
dom.Load(address);
XPathDocument pathdoc = new XPathDocument(address);
//XmlNodeList nodes = dom.SelectSingleNode("UserPattern").ChildNodes;
XmlNode xn = dom.SelectSingleNode("configuration");
XPathNavigator nav = pathdoc.CreateNavigator();
string xpath = String.Format("/configuration/item");
XPathExpression exp = nav.Compile(xpath);
exp.AddSort("@Tag",XmlSortOrder.Descending,XmlCaseOrder.None,"",XmlDataType.Text);
XPathNodeIterator nodeIter = nav.Select(exp);
xn.RemoveAll();
while (nodeIter.MoveNext())
{
// XmlElement xe = dom.createElement("Tag");
xe.SetAttribute("Tag", nodeIter.Current.GetAttribute("Tag", ""));
xn.AppendChild(xe);
}
dom.Save(address);
}
想要的结果
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<item>
<i1 Tag = "1" ></i1>
<i3 Tag = "2" ></i3>
<i2 Tag = "3" ></i2>
<i4 Tag = "4" ></i4>
<i5 Tag = "5" ></i5>
<i6 Tag = "6" ></i6>
<i7 Tag = "7" ></i7>
</item>
</configuration>
...全文
相关推荐
C#通过XML节点属性/属性值读取写入XML操作代码实例
本文主要介绍C#通过XML节点属性、属性值对XML的读取,写入操作,大家参考使用吧
C# xml处理和排序
C# xml处理和List的Sort排序C# xml处理和List的Sort排序C# xml处理和List的Sort排序
C#读取XML文件并显示在DataGrid组件中
C#读取XML文件并将其内容显示在DataGrid组件中。可以学习一下如何使用C#读取XML中的节点数据,并将数据内容捆绑在DataGrid列表控件中,本例虽然简单,但在C#应用中是相当广泛的。
c#使用Dataset读取XML文件动态生成菜单的方法
主要介绍了c#使用Dataset读取XML文件动态生成菜单的方法,涉及C#使用Dataset操作XML文件的相关技巧,需要的朋友可以参考下
c#读取txt,xml,excel中的数据
c#读取txt,xml,excel中的数据,绑定到lsitview ,dataview


