读取XML并将其作为C#中的字符串列表

时间:2019-03-06 10:59:17

标签: c# list recursion

我具有带有以下参数的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)

如何获取上述列表?我是否需要编写递归函数,因为我在某些ChildNodes下有ChildNodes?

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);
                }
            }
        }

如何获得以上结果?

0 个答案:

没有答案