У меня есть структура XML, которая имеет множество узлов doc
, и каждый узел может иметь нулевые или более фрагменты выделения (paras
).populating object collection property with Linq
<doc>
<docitem>3</docitem>
<docid>129826</docid>
<doctitle>sample title</doctitle>
<docdatetime>2009-07-03T16:59:00</docdatetime>
<collectdatetime>2009-07-03T16:59:23</collectdatetime>
<summary>
<summarytext>sample summary</summarytext>
</summary>
<paras>
<paraitemcount>2</paraitemcount>
<para>
<paraitem>1</paraitem>
<paratext>sample text 1</paratext>
</para>
<para>
<paraitem>2</paraitem>
<paratext>sample text 2</paratext>
</para>
</paras>
</doc>
<doc>
...
</doc>
Я также имею некоторый Linq код, чтобы заполнить некоторые объекты документа:
List<Document> documentsList = (from doc in xmlDocument.Descendants("doc")
select new Document
{
DocId = doc.Element("docid").Value,
DocTitle = doc.Element("doctitle").Value,
DocDateTime = DateTime.Parse(doc.Element("docdate").Value),
DocSummary = doc.Element("summary").Value,
DocParas = "" ///missing code to populate List<string>
}
).ToList<Document>();
Есть ли возможность добавить все пункты узлов в Document.DocParas List<string>
с помощью Linq и Xpath, или я должен сделать это задача по-другому?
Примечание: Я использую .NET C# 3.5