2014-01-17 100 views
2

我有一個我試圖解析的XML文檔。這裏是什麼樣子(只是格式在這裏,沒有數據):確定XDocument中的元素

<objectdata> 
    <title></title> 
    <assignableunit>  
     <other></other>  
     <other></other>  
     <text></text>  
     <name></name> 
    </assignableunit>  
</objectdata> 

我已經做好計劃是通過XML文檔和行爲每個元素循環。例如,如果元素是<assignableunit>我會調用代碼來處理該特定元素。如果元素是<text>,我會調用代碼來處理這個問題。我想也許使用開關/案例來確定元素的類型將工作,但我不知道如何確定如何確定元素的類型。有人可以提供正確的方向嗎?我對XML文件沒有太多處理。

回答

1

因爲你使用XElement代替XmlNodeXmlElement很多教程/示例使用,您需要使用Name財產是XName物體。非linq對象將其分解爲單獨的屬性,例如NameLocalName,而XElement通過XName類型組合使用。

if (element.Name.LocalName == "title") 
{ 
    // Do something with title data 
} 
else if (element.Name.LocalName == "assignableunit") 
{ 
    // Do something with assignableunit data 
    foreach(XElement childElement in element.Descendents()) 
    { 
     if (childElement.Name.LocalName == "other") 
     { 

     } 
     else if (........) 
     { 
     } 
    } 
}