C# 使用LINQ到xml访问xml元素
我有一个这样的xml文档,需要访问“employees”、“employee”元素,所以我尝试使用linq的XDocument类来获取employee元素,但它总是返回空值 示例xml:C# 使用LINQ到xml访问xml元素,c#,linq,linq-to-xml,C#,Linq,Linq To Xml,我有一个这样的xml文档,需要访问“employees”、“employee”元素,所以我尝试使用linq的XDocument类来获取employee元素,但它总是返回空值 示例xml: <organization> <metadata> </metadata> <main> <otherInfo> </otherInfo> <employeeInfo>
<organization>
<metadata>
</metadata>
<main>
<otherInfo>
</otherInfo>
<employeeInfo>
<employees>
<employee>
<id>1</id>
<name>ABC</name>
</employee>
<employee>
<id>2</id>
<name>ASE</name>
</employee>
<employee>
<id>3</id>
<name>XYZ</name>
</employee>
</employees>
</employeeInfo>
</main>
</organization>
这取决于你需要什么样的信息。您的选择返回一个IEnumerable列表。 此代码将打印出每个员工
string xmlString = @"<organization>
<metadata>
</metadata>
<main>
<otherInfo>
</otherInfo>
<employeeInfo>
<employees>
<employee>
<id>1</id>
<name>ABC</name>
</employee>
<employee>
<id>2</id>
<name>ASE</name>
</employee>
<employee>
<id>3</id>
<name>XYZ</name>
</employee>
</employees>
</employeeInfo>
</main>
</organization>";
XDocument xDoc = XDocument.Parse(xmlString);
var allEmployees = from d in xDoc.Descendants("employeeInfo")
from ms in d.Elements("employees")
from m in ms.Elements("employee")
select m;
foreach (var emp in allEmployees) {
Console.WriteLine(emp);
}
Console.Read();
string xmlString=@”
1.
基础知识
2.
ASE
3.
XYZ
";
XDocument xDoc=XDocument.Parse(xmlString);
var allEmployees=来自xDoc.substands(“employeeInfo”)中的d
来自d.Elements女士(“员工”)
来自ms.Elements中的m(“员工”)
选择m;
foreach(所有员工中的var emp){
控制台写入线(emp);
}
Console.Read();
这取决于你需要什么样的信息。您的选择返回一个IEnumerable列表。
此代码将打印出每个员工
string xmlString = @"<organization>
<metadata>
</metadata>
<main>
<otherInfo>
</otherInfo>
<employeeInfo>
<employees>
<employee>
<id>1</id>
<name>ABC</name>
</employee>
<employee>
<id>2</id>
<name>ASE</name>
</employee>
<employee>
<id>3</id>
<name>XYZ</name>
</employee>
</employees>
</employeeInfo>
</main>
</organization>";
XDocument xDoc = XDocument.Parse(xmlString);
var allEmployees = from d in xDoc.Descendants("employeeInfo")
from ms in d.Elements("employees")
from m in ms.Elements("employee")
select m;
foreach (var emp in allEmployees) {
Console.WriteLine(emp);
}
Console.Read();
string xmlString=@”
1.
基础知识
2.
ASE
3.
XYZ
";
XDocument xDoc=XDocument.Parse(xmlString);
var allEmployees=来自xDoc.substands(“employeeInfo”)中的d
来自d.Elements女士(“员工”)
来自ms.Elements中的m(“员工”)
选择m;
foreach(所有员工中的var emp){
控制台写入线(emp);
}
Console.Read();
这取决于你需要什么样的信息。您的选择返回一个IEnumerable列表。
此代码将打印出每个员工
string xmlString = @"<organization>
<metadata>
</metadata>
<main>
<otherInfo>
</otherInfo>
<employeeInfo>
<employees>
<employee>
<id>1</id>
<name>ABC</name>
</employee>
<employee>
<id>2</id>
<name>ASE</name>
</employee>
<employee>
<id>3</id>
<name>XYZ</name>
</employee>
</employees>
</employeeInfo>
</main>
</organization>";
XDocument xDoc = XDocument.Parse(xmlString);
var allEmployees = from d in xDoc.Descendants("employeeInfo")
from ms in d.Elements("employees")
from m in ms.Elements("employee")
select m;
foreach (var emp in allEmployees) {
Console.WriteLine(emp);
}
Console.Read();
string xmlString=@”
1.
基础知识
2.
ASE
3.
XYZ
";
XDocument xDoc=XDocument.Parse(xmlString);
var allEmployees=来自xDoc.substands(“employeeInfo”)中的d
来自d.Elements女士(“员工”)
来自ms.Elements中的m(“员工”)
选择m;
foreach(所有员工中的var emp){
控制台写入线(emp);
}
Console.Read();
这取决于你需要什么样的信息。您的选择返回一个IEnumerable列表。
此代码将打印出每个员工
string xmlString = @"<organization>
<metadata>
</metadata>
<main>
<otherInfo>
</otherInfo>
<employeeInfo>
<employees>
<employee>
<id>1</id>
<name>ABC</name>
</employee>
<employee>
<id>2</id>
<name>ASE</name>
</employee>
<employee>
<id>3</id>
<name>XYZ</name>
</employee>
</employees>
</employeeInfo>
</main>
</organization>";
XDocument xDoc = XDocument.Parse(xmlString);
var allEmployees = from d in xDoc.Descendants("employeeInfo")
from ms in d.Elements("employees")
from m in ms.Elements("employee")
select m;
foreach (var emp in allEmployees) {
Console.WriteLine(emp);
}
Console.Read();
string xmlString=@”
1.
基础知识
2.
ASE
3.
XYZ
";
XDocument xDoc=XDocument.Parse(xmlString);
var allEmployees=来自xDoc.substands(“employeeInfo”)中的d
来自d.Elements女士(“员工”)
来自ms.Elements中的m(“员工”)
选择m;
foreach(所有员工中的var emp){
控制台写入线(emp);
}
Console.Read();
只需使用后代(“员工”)代码>
只需使用子代(“员工”)代码>
只需使用子代(“员工”)代码>
只需使用子代(“员工”)代码>
事实上,我在xml文件的根节点中有一个xmlns,我在这里没有指定,所以您能告诉我当有可用名称空间时如何访问子元素吗?您能给我举个例子吗?我在提供的示例xml中遗漏了名称空间(即xmlns=“),因此我更改了