我有一个保存在记事本中的 XML 文件:
<Layouts>
<BinCode>11111</BinCode>
<BinCode>11111</BinCode>
<BinCode>11112</BinCode>
<BinCode>11121</BinCode>
<BinCode>11111</BinCode>
<BinCode>11211</BinCode>
</Layouts>
我想将此 XML 文件转换为数组,然后将数组旋转到 -90 度。
我有一个保存在记事本中的 XML 文件:
<Layouts>
<BinCode>11111</BinCode>
<BinCode>11111</BinCode>
<BinCode>11112</BinCode>
<BinCode>11121</BinCode>
<BinCode>11111</BinCode>
<BinCode>11211</BinCode>
</Layouts>
我想将此 XML 文件转换为数组,然后将数组旋转到 -90 度。
请注意,转换回 XML 和选择的数据类型只是说明性的。
我刚刚为您提供了一个算法指针以帮助您入门。
基本上,我们所做的是创建一个主数组,其长度是 5 位的位数,每个数组将包含一个 6 位数组。
我们将从后面填充它们,因此我们将从下向上反转字符串。
XmlDocument xml = new XmlDocument();
xml.LoadXml(@"
<Layouts>
<BinCode>11111</BinCode>
<BinCode>11111</BinCode>
<BinCode>11112</BinCode>
<BinCode>11121</BinCode>
<BinCode>11111</BinCode>
<BinCode>11211</BinCode>
</Layouts>
");
var binCodes = xml.DocumentElement.ChildNodes;
int digitsInMatrix = binCodes[0].InnerText.Length;
int[][] ints = new int[digitsInMatrix][];
for (int d = binCodes.Count - 1; d >= 0; d--)
{
for (int i = digitsInMatrix - 1; i >= 0; i--)
{
if (ints[i] == null)
ints[i] = new int[binCodes.Count];
char item = binCodes[d].InnerText[i];
ints[i][d] = int.Parse(item.ToString());
}
}
string updatedXML = string.Format("<Layouts>{0}</Layouts>",
string.Join("",
ints.Select(x =>
string.Format("<BinCode>{0}</BinCode>", string.Join("", x)))));