使用c#对xml数据进行排序 [英] Sort the xml data using c#

查看:127
本文介绍了使用c#对xml数据进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<?xml version="1.0" encoding="ISO-8859-1"?>
<HierarchiesFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="HierarchiesFile.xsd">
    <Hierarchy>
        <level>0</level>
        <parent>true</parent>
        <HierarchyDescription>A</HierarchyDescription>
        <HierarchyPath>A</HierarchyPath>
        <HierarchyCode>23:1</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <Hierarchy>
        <level>1</level>
        <parent>false</parent>
        <HierarchyDescription>AA</HierarchyDescription>
        <HierarchyPath>A : AA</HierarchyPath>
        <HierarchyCode>23:2</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <Hierarchy>
        <level>1</level>
        <parent>true</parent>
        <HierarchyDescription>AB</HierarchyDescription>
        <HierarchyPath>A : AB</HierarchyPath>
        <HierarchyCode>23:3</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <Hierarchy>
        <level>2</level>
        <parent>false</parent>
        <HierarchyDescription>AAA</HierarchyDescription>
        <HierarchyPath>A : AB : AAA</HierarchyPath>
        <HierarchyCode>23:4</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <Hierarchy>
        <level>2</level>
        <parent>false</parent>
        <HierarchyDescription>AAC</HierarchyDescription>
        <HierarchyPath>A : AB : AAC</HierarchyPath>
        <HierarchyCode>23:5</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <Hierarchy>
        <level>1</level>
        <parent>false</parent>
        <HierarchyDescription>AC</HierarchyDescription>
        <HierarchyPath>A : AC</HierarchyPath>
        <HierarchyCode>23:6</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <LastCode>23:7</LastCode>
</HierarchiesFile>







以上xml数据排序如下






above xml data sort as below

<?xml version="1.0" encoding="ISO-8859-1"?>
<HierarchiesFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="HierarchiesFile.xsd">
    <Hierarchy>
        <level>0</level>
        <parent>true</parent>
        <HierarchyDescription>A</HierarchyDescription>
        <HierarchyPath>A</HierarchyPath>
        <HierarchyCode>23:1</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <Hierarchy>
        <level>1</level>
        <parent>false</parent>
        <HierarchyDescription>AA</HierarchyDescription>
        <HierarchyPath>A : AA</HierarchyPath>
        <HierarchyCode>23:2</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <Hierarchy>
        <level>1</level>
        <parent>false</parent>
        <HierarchyDescription>AC</HierarchyDescription>
        <HierarchyPath>A : AC</HierarchyPath>
        <HierarchyCode>23:6</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <Hierarchy>
        <level>1</level>
        <parent>true</parent>
        <HierarchyDescription>Changed</HierarchyDescription>
        <HierarchyPath>A : Changed</HierarchyPath>
        <HierarchyCode>23:3</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <Hierarchy>
        <level>2</level>
        <parent>false</parent>
        <HierarchyDescription>AAA</HierarchyDescription>
        <HierarchyPath>A : Changed : AAA</HierarchyPath>
        <HierarchyCode>23:4</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <Hierarchy>
        <level>2</level>
        <parent>false</parent>
        <HierarchyDescription>AAC</HierarchyDescription>
        <HierarchyPath>A : Changed : AAC</HierarchyPath>
        <HierarchyCode>23:5</HierarchyCode>
        <HierarchyType>Folder</HierarchyType>
        <HierarchyACL/>
    </Hierarchy>
    <LastCode>23:7</LastCode>
</HierarchiesFile>

推荐答案

您可以反序列化XML文件,

然后按任何条件对对象进行排序,例如: LINQ

然后将已排序的对象序列化为新的XML文件。



首先,您必须从示例XML文件生成一个类

使用XSD工具。



请阅读本文进行反序列化:

http://timtrott.co.uk/using-xsd-tool-to-generate-classes-from- xml / [ ^ ]



请阅读本文序列化:

http://tech.pro/tutorial/798/csharp-tutorial-xml-serialization [ ^ ]
You could deserialize the XML file,
then sort the object by any criteria by e.g. LINQ
and then serialize the sorted object to a new XML file.

First of all you must generate a class from a sample XML file
by using XSD tool.

Please read this for deserialization:
http://timtrott.co.uk/using-xsd-tool-to-generate-classes-from-xml/[^]

Please read this for serialization:
http://tech.pro/tutorial/798/csharp-tutorial-xml-serialization[^]


这篇关于使用c#对xml数据进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆