我是C#asp.net编码的新手,所以我面临一些问题。 这是我的xml文件。我想检索每个员工的“< DOB>”值,并希望将它们存储在列表中,例如“emps_dob”。请帮我解决一下这个。谢谢你
<?xml version="1.0" encoding="utf-8"?>
<employees>
<employee>
<name> Vin </name>
<DOB> 07/10 </DOB>
<emailID> vinay@abc.com</emailID>
</employee>
<employee>
<name> ben </name>
<DOB> 08/11 </DOB>
<emailID> ben@abc.com</emailID>
</employee>
<employee>
<name> tin </name>
<DOB> 09/12 </DOB>
<emailID> tin@abc.com</emailID>
</employee>
答案 0 :(得分:5)
您可以按照此post
中给出的答案使用linqvar doc = XDocument.Load("yourfilepath")
var dobs= doc.Root.Elements().Select( x => x.Element("DOB") );
OR
using System;
using System.Xml.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main( string[] args )
{
XDocument doc = XDocument.Load( "XMLFile1.xml" );
List<string> emps_dob=new List<string>();
var dobs= doc.Descendants( "DOB" );
foreach ( var item in dobs)
{
emps_dob.Add(item.Value);
}
}
}
}
答案 1 :(得分:1)
XmlDocument xml = new XmlDocument();
xml.LoadXml(myXmlString);
XmlNodeList xnList = xml.SelectNodes("/employees/employee");
foreach (XmlNode xn in xnList)
{
string name= xn["name"].InnerText;
string DOB= xn["name"].InnerText;
Console.WriteLine("Name: {0} {1}", name, DOB);
}
答案 2 :(得分:0)
using System.Xml;
List<string> dob = new List<string>();
XmlDocument doc = new XmlDocument();
doc.Load("abc.xml");
XmlNode root = doc.DocumentElement;
foreach (XmlNode node1 in root.ChildNodes)
{
foreach (XmlNode node2 in node1.ChildNodes)
{
if (node2.Name.ToString() == "DOB")
dob.Add(node2.InnerText.ToString());
}
}