【发布时间】:2012-02-22 17:13:43
【问题描述】:
我正在尝试使用 LINQ 绑定以下文件的内容,但语法有问题。
<metadefinition>
<page>
<name>home</name>
<metas>
<meta>
<metaname>
title
</metaname>
<metavalue>
Welcome Home
</metavalue>
</meta>
<meta>
<metaname>
description
</metaname>
<metavalue>
Welcome Home Description
</metavalue>
</meta>
</metas>
</page>
<page>
<name>results</name>
<metas>
<meta>
<metaname>
title
</metaname>
<metavalue>
Welcome to Results
</metavalue>
</meta>
</metas>
</page>
</metadefinition>
我的查询看起来像这样,但是您可以看到它缺少对 metas 标记的检索。我该如何做到这一点?
var pages = from p in xmlDoc.Descendants(XName.Get("page"))
where p.Element("name").Value == pageName
select new MetaPage
{
Name = p.Element("name").Value,
MetaTags = p.Elements("metas").Select(m => new Tag { MetaName = m.Element("metaname").Value.ToString(),
MetaValue = m.Element("metacontent").Value.ToString()
}).ToList()
};
【问题讨论】:
-
有点不清楚你到底想在这里完成什么。 “缺少对元标记的检索”是什么意思?
标签: linq linq-to-xml