如何阅读通过C#XML例如<模式名称="文本"> [英] How to read XML via c# such as <Mode Name="text">

查看:155
本文介绍了如何阅读通过C#XML例如<模式名称="文本">的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道如何通过C#获取属性文?

I want to know how to get attribute "text" via c#?

示例XML:

<?xml version="1.0" encoding="utf-8" ?>
<Model Name="modelname">
    <Mode Name="text">
        <Class>Class1</Class>
            </Mode>
    </Model>

我尝试使用的XMLReader(例如从MSDN)来解析这个XML:

I try to parse this xml by using XMLReader(example from msdn) :

 while (reader.Read())
        {
            switch (reader.NodeType)
            {
                case XmlNodeType.Element:
                    Console.Write("<" + reader.Name+"");

                    Console.WriteLine(str);
                    if (reader.Name =="Mode")
                    {
                        namemode = true;       
                    }

                    if (namemode)
                    {
                        if (reader.Name == element) 
                        {
                            elementExists = true;

                        }  
                    }  
                   // Console.WriteLine(">");
                    break;
                case XmlNodeType.Text: 
                    Console.WriteLine(reader.Value);
                    if (elementExists)
                    {
                        values.Add(reader.Value);
                        elementExists = false;
                    }
                    break;

            }
        }

也许我应该使用的XMLDocument做到这一点? 谢谢你。

Maybe i should use XMLDocument to do this? Thanks.

推荐答案

您可以使用的XDocument LINQ

您将需要包括 System.Xml.Linq.XDocument 命名空间。

You'll need to include the System.Xml.Linq.XDocument namespace.

然后,你可以这样做:

 XDocument document = XDocument.Load(filePath);
 var modes = (from modes in document.Root.Descendants("Mode")
              select modes.Attribute("Name").Value).ToList();

这篇关于如何阅读通过C#XML例如&lt;模式名称=&QUOT;文本&QUOT;&GT;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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