0

我正在尝试使用 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>

我可以从第一级得到结果:

 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"))
                {

                }
            }

但是后来我尝试使用嵌套元素,但我没有得到我应该遵循的语法。先感谢您。

4

1 回答 1

1

它可以是这样的

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();
于 2013-08-04T22:33:08.727 回答