C# 读取 XML 元素和文本

标签 c# xml linq

我仍在努力学习 C#,并且我一直在寻找多年的时间来尝试找到解决我的问题的方法。 (这是一个帮助我学习C#的实践项目)

我能够创建和写入 XML 设置文件,但我很难从中获取数据。

我尝试使用来自 here 的最佳答案但它没有用。

我想从 XML 文件中获取元素和内部文本并放入一个 2 列列表中(我目前正在使用字典,如果我有/需要的话,我愿意更改它)

在第一列中,我想要元素名称,在第二列中,我想要内部文本。

然后我只想写出我创建的列表

XML

<settings>
    <view1>enabled</view1>
    <view2>disabled</view2>
</settings>

C#

private Dictionary<string, string> settingsList = new Dictionary<string, string>();

private void CreateSettings()
{
    XDocument xmlSettings = new XDocument(
        new XElement(
            "settings",
            new XElement("view1", "enabled"),
            new XElement("view2", "disabled")))

    xmlSettings.Save(FilePath);
}

private void ReadSettings
{
    XDocument xmlSettings = XDocument.Load(FilePath);

    //READ XML FROM FILE PATH AND ADD TO LIST
}

最佳答案

您可以使用ToDictionary 方法将您的设置放入字典中:

settingsList = xmlSettings.Descendants().ToDictionary(x => x.Name, x => x.Value);

关于C# 读取 XML 元素和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28281182/

相关文章:

javascript - 如何在 html 中显示表示 XML 的字符串?

c# - 在插入数据库时​​将空字符串设置为 null

c# - .NET 4.5 中的代码契约 + 异步 : "The method or operation is not implemented"

c# - 通过局部 View MVC3 传递模型

c# - 使用 Linq 构建对象字典并将文本附加到其属性之一

字符串值中的 C# LINQ 日期时间

c# - 尝试使用 Linq to XML (C#) 解析 XML 树

c# - 找不到反序列化 T 类型对象的构造函数

javascript - 如何像 xml 解析器一样将 html 打印为纯文本?

java - 如何输出包含全局命名空间定义的单个 DOM 节点