Прочитайте XML и поместите его как список строк в C # - PullRequest
0 голосов
/ 06 марта 2019

У меня есть 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);
                }
            }
        }

Как мне достичь вышеуказанных результатов ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...