complexType node with mixed = "true" - Как получить innerText и узел внутри него - C # - PullRequest
0 голосов
/ 01 ноября 2019

Например:

<Inflection>innerText1</Inflection>
<Inflection>innerText2<Variant>innerText2Variant</Variant></Inflection>

Мы можем получить innerText1 в C # с помощью свойства theNode.InnerText, но как мы можем получить следующую информацию отдельно для узла во 2-й строке?

  • innerText2
  • XmlNode of Variant
  • innerText2Variant

1 Ответ

1 голос
/ 01 ноября 2019
static void Main(string[] args)
    {
        string strXML = @"<root><Inflection>innerText1</Inflection>
                                <Inflection>innerText2<Variant>innerText2Variant</Variant></Inflection></root>";

        XmlDocument xml = new XmlDocument();

        xml.LoadXml(strXML);

        XmlNodeList nodesInflection = xml.SelectNodes("/root/Inflection");

        foreach(XmlNode n in nodesInflection)
        {
            if (n.ChildNodes.Count == 1)
            {
                Console.WriteLine(n.InnerText);

                //or 
                Console.WriteLine(n.ChildNodes[0].InnerText);
            }
            else
            {
                Console.WriteLine(n.ChildNodes[0].InnerText);

                XmlNode nodeVariant = n.SelectSingleNode("Variant");

                //or
                //XmlNode nodeVariant = n.ChildNodes[1];


                Console.WriteLine(nodeVariant.InnerText);

            }
        }

        Console.WriteLine("*******press any key");
        Console.ReadKey();

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