2013-08-04 40 views
0

我正在嘗試使用XDocument讀取以下xml。節點的XDocument搜索語法

<?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> 

我可以從第1層的結果與:

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

       } 
      } 

但後來我試着去嵌套的元素,我沒有得到語法我應該遵循。先謝謝你。

回答

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(); 
+0

謝謝,非常好的解決方案 – Jim