Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xml的属性排序_C#_Xml - Fatal编程技术网

C# Xml的属性排序

C# Xml的属性排序,c#,xml,C#,Xml,我的输入是一个Xml格式,例如: <Phrase Entry="ID"> <Ans number="1"> <Identification LastName="Bornery" Name="John" Age="23"/> </Ans> </Phrase> 我想根据Xml属性的第一个字符名按顺序对其进行排序 字母排列,如Xml: <Phrase Entry="ID"> <Ans number="1"&g

我的输入是一个Xml格式,例如:

<Phrase Entry="ID">
 <Ans number="1">
  <Identification LastName="Bornery" Name="John" Age="23"/>
 </Ans>
</Phrase>

我想根据Xml属性的第一个字符名按顺序对其进行排序 字母排列,如Xml:

<Phrase Entry="ID">
 <Ans number="1">
  <Identification Age="23" LastName="Bornery" Name="John" />
 </Ans>
</Phrase>


谢谢。

您的输出xml是错误的,但如果输入是这样的:

<Phrase Entry="ID">
 <Ans number="1">
  <Blah LastName="Bornery" Name="John" Age="23"/>
 </Ans>
</Phrase>
我会退还这个

<Phrase Entry="ID">
  <Ans number="1">
    <Blah Age="23" LastName="Bornery" Name="John" />
  </Ans>
</Phrase>


如果要将两个XML文档作为字符串进行比较,应该将它们转换为规范的XML。这涉及的不仅仅是将属性转换为规范的顺序:例如,它涉及规范化空白,可能还有名称空间前缀。查找XML规范化实用程序。

LastName
不是属性。它是一个元素名。您的XML语法错误。哦,是的,谢谢您的注释。为什么要这样做?属性顺序对于任何兼容的解析器都不重要…@MarcGravel也许对于阅读xml的人脑来说?你的问题很好。因为我想将这个Xml与另一个Xml进行比较,这是第二个Xml。
<Phrase Entry="ID">
  <Ans number="1">
    <Blah Age="23" LastName="Bornery" Name="John" />
  </Ans>
</Phrase>