簡體   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