首页 > 解决方案 > 读取 XML 并将其作为 C# 中的字符串列表

问题描述

我有带有以下参数的 XML,我需要根据 XML 节点的缩进级别将以下 xml 与字符串列表进行转换。

<Assembly>
  <SubAssembly1>
    <ComponentX>
    </ComponentX>
  </SubAssembly1>
  <SubAssembly2>
    <ComponentY>
    </ComponentY>
    <ComponentZ>
      <PIN1>
      </PIN1>
      <ComponentZ>
    </SubAssembly2>
</Assembly>

基本上我期望输出如下

Assembly(Level1)
   SubAssembly1(Level2)
     ComponentX(Level3)
   SubAssembly2(Level2)
     ComponentY(Level3)
     ComponentZ(Level3)
       PIN1(Level4)

我怎样才能得到上面的列表?我是否需要编写递归函数,因为我在某些子节点下有子节点?

private void GetListFromXML(XmlNode xmlNode)
        {
            System.Xml.XmlNode newXNode;
            XmlNodeList xNodeList;
            int iNumber = 0;

            firstNodeList.Add(xmlNode.Name);
            if (xmlNode.HasChildNodes)
            {
                xNodeList = xmlNode.ChildNodes;
                for (int i = 0; i < xNodeList.Count-1; i++)
                {
                    newXNode = xmlNode.ChildNodes[iNumber];
                    secondNodeList.Add(newXNode.Name.ToString());
                    GetListFromXML(newXNode);
                }
            }
        }

我怎样才能达到上述结果?

标签: c#listrecursion

解决方案


推荐阅读