[英]How do I get a list of child elements from XDocument object?
我试图从XML文件中获取所有“视频”元素及其属性,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<videos>
<video title="video1" path="videos\video1.wma"/>
<video title="video2" path="videos\video2.wma"/>
<video title="video3" path="videos\video3.wma"/>
</videos>
以下内容仅选择根节点和所有子节点。 我想将所有'视频'元素放入IEnumerable中。 有人能告诉我我做错了什么吗?
IEnumerable<XElement> elements = from xml in _xdoc.Descendants("videos")
select xml;
上面返回一个长度为== 1的集合。它包含根元素和所有子元素。
您想要选择后代(“视频”)。 “视频”似乎是您的根条目,其中有1个元素。 视频的内部元素是您要查询的内容。
例:
var query = from video in document.Descendants("video")
select new
{
Title = video.Attribute("title").Value,
Path = video.Attribute("path").Value
};
这将为您提供一个具有两个字符串属性的IEnumerable匿名类型。 否则,您只需选择“视频”并获取IEnumerable<XElement>
,您可以根据需要进一步解析。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.