C# XDocument节点的搜索语法
我正在尝试使用XDocument阅读以下xmlC# XDocument节点的搜索语法,c#,xmldocument,C#,Xmldocument,我正在尝试使用XDocument阅读以下xml <?xml version="1.0" encoding="utf-8"?> <Project> <ID /> <ProjectName>sdgsdf</ProjectName> <ProjectDate>12-01-0001</ProjectDate> <ProjectToPost> <Website>
<?xml version="1.0" encoding="utf-8"?>
<Project>
<ID />
<ProjectName>sdgsdf</ProjectName>
<ProjectDate>12-01-0001</ProjectDate>
<ProjectToPost>
<Website>
<ID>4</ID>
<Type>Web</Type>
</Website>
<Website>
<ID>5</ID>
<Type>Web</Type>
</Website>
</ProjectToPost>
<ProjectToRead>
<Website>
<ID>6</ID>
<Type>Web2</Type>
</Website>
<Website>
<ID>7</ID>
<Type>Web2</Type>
</Website>
</ProjectToRead>
</Project>
sdgsdf
12-01-0001
4.
网状物
5.
网状物
6.
Web2
7.
Web2
我可以通过以下方式获得第一级的结果:
XDocument xdocument = XDocument.Load(filenamepath);
IEnumerable<XElement> Project = xdocument.Elements();
foreach (var item in Project)
{
txt_1= item.Element("ID").Value;
txt_2= item.Element("ProjectName").Value;
foreach (var item2 in item.Element("WebsitesToPost"))
{
}
}
XDocument XDocument=XDocument.Load(filenamepath);
IEnumerable项目=xdocument.Elements();
foreach(项目中的var项)
{
txt_1=item.Element(“ID”).Value;
txt_2=item.Element(“ProjectName”).Value;
foreach(item.Element(“WebsitesToPost”)中的var item2)
{
}
}
但是我尝试使用嵌套元素,但我没有得到应该遵循的语法。提前谢谢你。可能是这样的
var projectName = (string)xdocument.Root.Element("ProjectName");
var webSites = xdocument.Root.Element("ProjectToPost")
.Elements("Website")
.Select(w => new
{
ID = (int)w.Element("ID"),
Type = (string)w.Element("Type"),
})
.ToList();
谢谢,很好的解决方案