我具有带有以下参数的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);
}
}
}
如何获得以上结果?