我有一個的XElement變量命名內容它由以下的XML:手動將XElement解析爲自定義對象的最佳方式是什麼?
<content>
<title>Contact Data</title>
<p>This is a paragraph this will be displayed in front of the first form.</p>
<form idCode="contactData" query="limit 10; category=internal"/>
<form idCode="contactDataDetail" query="limit 10; category=internal">
<title>Contact Data Detail</title>
<description>This is the detail information</description>
</form>
</content>
我現在想簡單通過每個1級節點的運行,並將其解析爲對象。回到C#2.0中,我使用XmlReader來檢查節點的類型,並相應地解析它。
但是,什麼是解析與LINQ的XML節點的最佳方式,我希望這樣的事情:
var contentItems = from contentItem in pageItem.content.DescendantNodes()
select new ContentItem
{
Type = contentItem.Element()
};
foreach (var contentItem in contentItems)
{
switch (contentItem.Type)
{
case "title":
...(parse title)...
case "p":
...(parse p)...
case "form":
...(parse form)...
}
}
其中:
public class ContentItem
{
public string Type { get; set; }
public string IdCode { get; set; }
public XElement Content { get; set; }
}
你究竟在哪裏解析?例如,當您解析標題時...您想在哪裏輸入值「聯繫數據」? – jrista 2009-06-04 09:54:42
當我解析標題節點時,「Contact Data」將作爲TextBlock添加到UserControl中。當我解析表單節點時,那麼一個idCode =「contactData」的表單將從數據庫中加載並顯示出來,等等。 – 2009-06-04 10:27:26