我有两个循环从两个 XML 源中提取数据:
循环1:
foreach (XmlNode nodes in node.ChildNodes)
{
if (nodes.Name == "DEFAULT")
defaults[count] = nodes.InnerText;
if (nodes.Name == "TYPE"
types[count] = nodes.InnerText;
if (nodes.Name == "COL_NAM"
names[count] = nodes.InnerText;
}
count++;
循环2:
foreach (XmlNode nodes in root.ChildNodes)
{
vals[i] = nodes.InnerText;
cols[i] = nodes.Name;
i++;
}
不知何故,我想将这些数据组织成一个终极对象。该对象需要有 4 个部分:名称、类型、值和默认值。本质上,我想将 Loop1 中的所有内容组合在一起,然后将 Loop2 中的所有内容组合在一起,然后将这两个对象添加到一个对象中,匹配来自 Loop1 的名称和来自 Loop2 的 cols。理想情况下,Loop2 中的节点数量可能少于 Loop1。但是,如果那不可能,我可以解决它。
为了更好地了解最终对象:
object everything = {{names}, {types}, {values}, {defaults}};
名称将来自两个循环,并将成为对象的“关键”。类型和默认值将来自 Loop1,值将来自 Loop2。串联将使用名称/列进行匹配。
PS:我尝试使用 2D 字符串数组来执行此操作,但在尝试组合匹配 cols 和 names 字段的两个时遇到了麻烦。