2012-09-21 115 views
-6

如何使用c#讀取和獲取「name」,「age」和「sex」的值?如何讀取和獲取xml的值

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

你需要做的一點點研究你自己的。在這個網站或谷歌上進行簡單的搜索會給你一些結果,例如「在C#中解析XML」。 – Osiris

回答

2
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; 
0

您可以使用:

XmlDocument xml = new XmlDocument(); 

      string [email protected]"<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

之前,您可以使用LINQ to XML

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

同樣的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);