【问题标题】:How to Convert XML to Array (5X6) then rotate -90 degrees?如何将 XML 转换为数组(5X6)然后旋转-90 度?
【发布时间】:2022-01-19 08:01:19
【问题描述】:

我有一个保存在记事本中的 XML 文件:

<Layouts>
<BinCode>11111</BinCode>
<BinCode>11111</BinCode>
<BinCode>11112</BinCode>
<BinCode>11121</BinCode>
<BinCode>11111</BinCode>
<BinCode>11211</BinCode>
</Layouts>

我想将此 XML 文件转换为数组,然后将数组旋转到 -90 度。

【问题讨论】:

    标签: c# arrays matrix xmlconvert


    【解决方案1】:

    请注意,转换回 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)))));
    

    【讨论】:

    • 我想要从:11111 11111 11112 11121 11111 11211 转换为 112111 111211 111112 111111 111111
    • 这很酷......不过,这不是你在问题中所说的。我不会发布您的问题的答案,以便您每次都可以更改问题的范围。使用所有详细信息更新您的问题。输入/输出您尝试过的内容和期望的内容。
    猜你喜欢
    • 1970-01-01
    • 2011-06-01
    • 2013-08-19
    • 2010-11-21
    • 2012-12-23
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    相关资源
    最近更新 更多