日期:2014-05-19  浏览次数:20959 次

关于XmlDocument文档中节点的排序问题。
文档对象的根节点下有多个子节点,如何根据子节点的名称进行节点排序???

谁能指点一下,谢谢。

------解决方案--------------------
http://dotnet.aspx.cc/article/8C7170E2-DB55-41F1-8C40-FB7F0F9ADAA5/read.aspx
------解决方案--------------------
lz:
对于现有的xml文件,读到XmlDocument后,是不能改变节点之间的相对位置的,就如同把数据库表读到Recordset或DataTable一样,也无法改变列的“物理”位置,(用视图只是逻辑的表象)。要实现你的需求,用两种办法可以实现:

(1)、生成xml时:
此时就根据节点的名称排好序,再一个一个写进xml文件的相应位置,则等你读出来自然就是你想要的顺序。
(2)、现有读出时:
针对他人提供的xml文件,无法用第一种办法,此时,你可以把子节点的名称读到一个集合对象里(如ArrayList,List <> ,。。。),利用集合类方法Sort()进行排序,它可以重写,在界面上显示xml信息便可按照你排序的方式显示从来。
------解决方案--------------------
使用xsl
XslTransform
+
<xsl:sort ......................