我的输入就像吹Xml一样:
<Phrase Entry="ID">
<Ans number="1">
<Identification LastName="Bornery" Name="John" Age="23"/>
</Ans>
</Phrase>
Run Code Online (Sandbox Code Playgroud)
我想基于字母排列的第一个字符名称顺序对Xml属性进行排序,例如吹扫Xml:
<Phrase Entry="ID">
<Ans number="1">
<Identification Age="23" LastName="Bornery" Name="John" />
</Ans>
</Phrase>
Run Code Online (Sandbox Code Playgroud)
谢谢.
Muh*_*han 11
您的输出xml是错误的,但如果输入是这样的:
<Phrase Entry="ID">
<Ans number="1">
<Blah LastName="Bornery" Name="John" Age="23"/>
</Ans>
</Phrase>
Run Code Online (Sandbox Code Playgroud)
然后是以下代码
static string SortAttributes(string xml)
{
var doc = XDocument.Parse(xml);
foreach (XElement element in doc.Descendants())
{
var attrs = element.Attributes().ToList();
attrs.Remove();
attrs.Sort((a, b) => a.Name.LocalName.CompareTo(b.Name.LocalName));
element.Add(attrs);
}
xml = doc.ToString();
return xml;
}
Run Code Online (Sandbox Code Playgroud)
会回来的
<Phrase Entry="ID">
<Ans number="1">
<Blah Age="23" LastName="Bornery" Name="John" />
</Ans>
</Phrase>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1918 次 |
| 最近记录: |