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??