繁体   English   中英

如何从XDocument对象获取子元素列表?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM