【问题标题】:how to read and get the values from xml [closed]如何从 xml 读取和获取值 [关闭]
【发布时间】:2012-09-13 13:13:50
【问题描述】:

如何使用c#读取和获取“name”、“age”和“sex”的值?

<Details>
    <Name>xx</Name>
    <age>yy</age>
    <sex>zz</sex>
</Details>

【问题讨论】:

  • 你需要自己做一些研究。在本网站或 Google 上进行简单搜索会为您提供大量结果,其中包含“在 C# 中解析 XML”的示例。

标签: c# xml xml-parsing


【解决方案1】:

还有 LINq to XML:

        XElement x = XElement.Load("In.xml");
        var details = new
        {
            Name = x.Element("Name").Value,
            Age = x.Element("age").Value,
            Sex = x.Element("sex").Value
        };

然后使用它,例如:

Console.WriteLine(details.Name);
Console.WriteLine(details.Age);
Console.WriteLine(details.Sex);

【讨论】:

    【解决方案2】:

    你可以使用LINQ to XML:

      var xdoc = XDocument.Parse(xml);
      var list = xdoc.Root.Descendants().Select(x => x.Value);
    

    【讨论】:

      【解决方案3】:

      你可以使用:

      XmlDocument xml = new XmlDocument();
      
                  string myXml=@"<Details>
                              <Name>xx</Name>
                              <age>yy</age>
                              <sex>zz</sex>
                              </Details>";
                  xml.LoadXml(myXml);
      
      
                  XmlNodeList xnList = xml.SelectNodes("/Details");
                  foreach (XmlNode xn in xnList)
                  {
                      string name = xn["Name"].InnerText;
                      string age = xn["age"].InnerText;
                      string text = xn["sex"].InnerText;
                      Console.WriteLine("Name: {0} {1} {2}", name, age, text);
                  }
      

      在问这个问题之前你应该得到一些信息

      【讨论】:

        【解决方案4】:
        System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        doc.Load(@"c:\testapp\sample.xml");
        // Root element
        System.Xml.XmlElement root = doc.DocumentElement;
        System.Xml.XmlElement nameElement =(System.Xml.XmlElement)root.ChildNodes[0];
        string name = name.InnerText;
        System.Xml.XmlElement ageElemnent =(System.Xml.XmlElement)root.ChildNodes[1];
        string age = ageElemnent.InnerText;
        System.Xml.XmlElement sexElemnent =(System.Xml.XmlElement)root.ChildNodes[2];
        string sex= sexElemnent.InnerText;
        

        【讨论】:

          【解决方案5】:
          1. 从您的 xml 中创建一个 XmlDocument。阅读this
          2. 使用XmlDocument.SelectSingleNode 方法触发XPath 对该文档的查询。
          3. 获取上述结果表单#2 的InnerText

          【讨论】:

            【解决方案6】:

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-01-15
              • 1970-01-01
              • 1970-01-01
              • 2020-06-29
              • 2012-12-04
              • 1970-01-01
              相关资源
              最近更新 更多