3
我有一個看起來像這樣的xml文件;使用LINQ創建對象
<Employee>
<EmployeeName>Burt Reynolds</EmployeeName>
<EmployeeTitle>Bad Ass</EmployeeTitle>
<EmployeeStory>
<EmployeeStoryHeaderParagraph>
<EmployeeHeader>Employee Header 1</EmployeeHeader>
<EmployeeParagraphs>
<EmployeeParagraph>Employee Paragraph 1.1</EmployeeParagraph>
</EmployeeParagraphs>
<EmployeeParagraphs>
<EmployeeParagraph>Employee Paragraph 1.2</EmployeeParagraph>
</EmployeeParagraphs>
</EmployeeStoryHeaderParagraph>
<EmployeeStoryHeaderParagraph>
<EmployeeHeader>Employee Header 2</EmployeeHeader>
<EmployeeParagraphs>
<EmployeeParagraph>Employee Paragraph 2.1</EmployeeParagraph>
</EmployeeParagraphs>
<EmployeeParagraphs>
<EmployeeParagraph>Employee Paragraph 2.2</EmployeeParagraph>
</EmployeeParagraphs>
</EmployeeStoryHeaderParagraph>
</EmployeeStory>
<EmployeeImage>
<include type="Image" resolve="false" sourcedFrom="local" externalPath="/PublishingImages/2nav_bg.png" height="29" width="2" query="">/PublishingImages/2nav_bg.png</include>
</EmployeeImage>
<EmployeeSigImage>
<include type="Image" resolve="false" sourcedFrom="local" externalPath="/PublishingImages/down_carat.gif" height="7" width="12" query="">/PublishingImages/down_carat.gif</include>
</EmployeeSigImage>
<EmployeeVideo>http://sandbox/RichMedia/Robotica_720.wmv</EmployeeVideo>
</Employee>
僱員標籤將1到n。 EmployeeStoryHeaderParagraph標籤會1到n。 EmployeeParagraphs標籤從1到n。
我想創建一個對象,並將其添加到列表使用此數據,但我堅持抓住標題和段落。目前代碼看起來像這樣。
XDocument employeeXML = XDocument.Parse(e.Result);
employeeList = (from employee in employeeXML.Descendants(ns + "Employee")
select new Employee(employee.Element(ns + "EmployeeName").Value,
employee.Element(ns + "EmployeeTitle").Value,
employee.Element(ns + "EmployeeImage").Element(ns + "include").Attribute("externalPath").Value,
employee.Element(ns + "EmployeeSigImage").Element(ns + "include").Attribute("externalPath").Value,
employee.Element(ns + "EmployeeVideo").Value,
headers,
content
)).ToList();
員工是我創建的一個類,它將此作爲一個構造函數;
public Employee(string _employeeName, string _employeeTitle, string _employeeImage, string _employeeSigImage, string _employeeMovieUri, List<string> _employeeHeader, List<string[]> _employeeContent)
當我在我的LINQ語句頭以上,我需要它去通過,並從當前的員工是在創建標頭列表時,得到內容,我需要字符串數組包含列表與該標題關聯的EmployeeParagraphs。因此,header [1]將是content [1]字符串的標題。我不知道如何在Linq中做到這一點,我可以將代碼添加到上面顯示的標題和內容中以創建新列表,還是在我進入此列表之前執行此操作?
也許有一種比我目前正在嘗試的更好的方法嗎?
正是我需要感謝束。 – theDawckta 2010-07-21 21:10:18
當然可以。很高興幫助。 – 2010-07-21 22:01:07