Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XDocument节点的搜索语法_C#_Xmldocument - Fatal编程技术网

C# XDocument节点的搜索语法

C# 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>

我正在尝试使用XDocument阅读以下xml

<?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();

谢谢,很好的解决方案