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