迷恋自留地 发表于 2021-7-24 11:09

C#中XML文件读取

### 概述

首先程序访问且操作xml文件有两种模型:DOM(文档对象模型)、流模型。

DOM:允许编辑和更新文档,可随机访问文档中的数据,可使用XPath查询,但是必须要一次性将文档加载在内存中,对于大型的文件就会造成资源问题。

流模型:采用流访问,任何时候内存中只存在当前的节点,但是它只能向前且是只读的,不能向后导航操作。

### 读写文件

1. 使用 XmlDocument
!(https://img-blog.csdnimg.cn/e7bd8e5adb124f7a84294d960587ecc8.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMyMzM2,size_1,color_FFFFFF,t_0)
2. 使用 XmlTextReader
![](https://img-blog.csdnimg.cn/91b1afe5fda245d6bc5ac61962ae534b.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMyMzM2,size_1,color_FFFFFF,t_0)

3. 使用 Linq to Xml
![在这里插入图片描述](https://img-blog.csdnimg.cn/ab6d68e4e633405ca14c214322b3050f.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNzMyMzM2,size_1,color_FFFFFF,t_0)

https://blog.csdn.net/qq_40732336/article/details/119054907

https://www.cnblogs.com/netcore5/p/15054719.html

Eaglecad 发表于 2021-7-24 12:51

tinyxml可行吗,虽然没研究过

咬字分开念 发表于 2021-8-23 14:41

   System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.LoadXml(v);
                var value = doc.GetElementsByTagName("string");
                if (value.Count != 0)
                  v = (value.InnerText);

直接这样读取不是更简单嘛

wang65424773 发表于 2021-11-17 13:00

对你整个相关数据进行序列化,然后再进行反序列化,这个更方便
页: [1]
查看完整版本: C#中XML文件读取