我有这样的XML:
<Configuration>
<Elements>
<SubElement1></SubElement1>
<SubElement2></SubElement2>
<SubElement3></SubElement3>
</Elements>
</Configuration>
现在每次读取XML时,我都希望随机更改SubElements
的顺序,如下所述。
<Configuration>
<Elements>
<SubElement2></SubElement2>
<SubElement1></SubElement1>
<SubElement3></SubElement3>
</Elements>
</Configuration>
但是我找不到可能的解决方案
答案 0 :(得分:2)
你可以像这样随机化xml。
public class Xml
{
public static string XmlString = @"<Configuration>
<Elements>
<SubElement1></SubElement1>
<SubElement2></SubElement2>
<SubElement3></SubElement3>
</Elements>
</Configuration>";
public static XDocument Randomize()
{
//rather keep a static random if u can
var rand = new Random();
var xdoc = XDocument.Parse(XmlString);
var ele = xdoc.Root.Element("Elements");
var shuffle = new XElement("Elements", ele.Elements().OrderBy(x => rand.Next()));
ele.ReplaceWith(shuffle);
return xdoc;
}
}