0

I have XML with following parameter and I need to convert following xml with List of strings as per the indentation level of XML Node.

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

Basically I am expecting output as below

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

How can i get the list as above? Do I need to write the recursive function as I have ChildNodes under some 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);
                }
            }
        }

How can I achieve above results??

0 Answers0