如何阅读特定​​名称的所有XML节点,并把它们放到一个数组(或列表)? [英] How do I read all XML nodes of a specific name and put them into an array (or list)?

查看:145
本文介绍了如何阅读特定​​名称的所有XML节点,并把它们放到一个数组(或列表)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个XML:

<?xml version="1.0" encoding="UTF-8"?>
<ticket>
    <comments type="array">
         <comment> 
               <attachments type="array">
                     <attachment>
                          <url>I NEED WHATEVER IS IN HERE</url>
                     </attachment>
               </attachments>
         </comment>
         <comment>
               <attachments type="array">
                     <attachment>
                          <url>I NEED WHATEVER IS IN HERE</url>
                     </attachment>
               </attachments>
         <comment>
     </comments>
</ticket>

我将如何去获得什么是URL标记内,并把它添加到&LT;列表&gt; ?我使用C#。

推荐答案

使用:

var result = XDocument.Parse(inputXml)
    .DescendantNodes().OfType<XText>().Select(e => e.Value).ToList();

而使用XPath:

Or using XPath:

var result = ((IEnumerable)XDocument.Parse(input).XPathEvaluate("//text()"))
    .Cast<XText>().ToList();

要仅从网​​址元素的使用检索的文本:

To retrieve text only from url element use:

var result = XDocument.Parse(inputXml)
        .Descendants("url").Select(e => e.Value).ToList();

或改变以上的XPath: // URL /文()

这篇关于如何阅读特定​​名称的所有XML节点,并把它们放到一个数组(或列表)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆