这是我的XML结构:
<Note Id="2" Category="OFFICE" Date="12/6/2014 12:00:00 AM">
<Hashtag>#hashnotes</Hashtag>
<Hashtag>#hashnotes</Hashtag>
<Hashtag>#good</Hashtag>
<Text>this is #hashnotes app #hashnotes are #good</Text>
</Note>
我编写的用于在C#中使用LINQ搜索主题标签值的代码如下:
var user = XmlDoc.Element("HashNotes").Elements("Note")
.Where(e => e.Element("Hashtag").Value == hashtag);
但无法搜索更深的节点。您能告诉我如何提取具有相同名称Hashtag的Elements的值吗?
您当前的代码将返回Note
包含和#hashtag
值的元素。
通过添加另一个层(例如,
var list = doc.Element("HashNotes")
.Elements("Note")
.Elements("Hashtag")
.Where(p=>p.Value == "#hashnotes");
现在将返回Hashtag
元素。
// 更新
要提取相关的Note元素,您可以简单地.Parent
为期望的索引调用该属性。
int idx_wanted = 0;
return list[idx_wanted].Parent;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句