LINQ到XML.如何获得一些字符串? [英] LINQ to XML. How to get some string?

查看:40
本文介绍了LINQ到XML.如何获得一些字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有xml:

<?xml version="1.0" encoding="utf-8" ?>
<books>
  <book>
    <author>Ray</author>
    <album>Other</album>
    <cover size="large">LargeCover</cover>
    <cover size="mini">MiniCover</cover>
  </book>
</books>

如何获取字符串"MiniCover"?

How to get string "MiniCover"?

我写了代码,但是不起作用-字符串为空;

I wrote the code, but it does not work — string is empty;

 string testLink = (@"Text.xml");

            XDocument xml = XDocument.Load(testLink);
            string cv = String.Empty;

            var c = from cover in xml.Elements("book")
                    where (string)cover.Attribute("size").Value == "mini"
                    select cover.Value;
            foreach (var item in c)
            {
                cv += item.ToString();
            }

            MessageBox.Show(cv);

谢谢!

推荐答案

Xpath可以简化您的代码

Xpath can simplify your code

var covers = xDoc.XPathSelectElements("//cover[@size='mini']").ToList();    

获取内部文本

var covers = xDoc.XPathSelectElements("//cover[@size='mini']")
                .Select(x => x.Value)
                .ToList(); 

这篇关于LINQ到XML.如何获得一些字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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