具有mixed=";的complexType节点;“真的”如何获取innerText及其内部的节点-C#

具有mixed=";的complexType节点;“真的”如何获取innerText及其内部的节点-C#,c#,xml,xpath,C#,Xml,Xpath,例如: <Inflection>innerText1</Inflection> <Inflection>innerText2<Variant>innerText2Variant</Variant></Inflection> innerText1 innerText2innerText2Variant 我们可以通过node.InnerText属性获取C#中的innerText1,但是 我们如何分别获得第2行中节点的以下信息

例如:

<Inflection>innerText1</Inflection>
<Inflection>innerText2<Variant>innerText2Variant</Variant></Inflection>
innerText1
innerText2innerText2Variant
我们可以通过node.InnerText属性获取C#中的innerText1,但是 我们如何分别获得第2行中节点的以下信息

  • innerText2
  • 变量的XmlNode
  • innerText2Variant
静态void Main(字符串[]args)
{
字符串strXML=@“innerText1
innerText2innerText2Variant”;
XmlDocument xml=新的XmlDocument();
LoadXml(strXML);
XmlNodeList nodesInflection=xml.SelectNodes(“/root/definction”);
foreach(nodesInflection中的XmlNode)
{
如果(n.ChildNodes.Count==1)
{
Console.WriteLine(n.InnerText);
//或
Console.WriteLine(n.ChildNodes[0].InnerText);
}
其他的
{
Console.WriteLine(n.ChildNodes[0].InnerText);
XmlNode nodeVariant=n.SelectSingleNode(“变量”);
//或
//XmlNode nodeVariant=n.ChildNodes[1];
Console.WriteLine(nodeVariant.InnerText);
}
}
Console.WriteLine(“按任意键”);
Console.ReadKey();
}
第1步,使用而不是一些古老的,应该被遗忘的.Net框架的一部分
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();

    }