
C# XML文件读取及修改内部属性值最详细的源码
XML文件处理在C#里是家常便饭了,今天咱们直接甩代码,手把手演示怎么读取和修改属性值。先来
点实在的——用最传统的`XmlDocument`类操作,再对比一下LINQ风格的`XDocument`,两种姿势你按需选择
。
**先说XmlDocument**
先引用命名空间`System.Xml`,核心操作就四个步骤:加载、找节点、改属性、保存。举个例子,假设
有个`config.xml`文件长这样:
```xml
<configuration>
<item id="001" status="active">
<name>Test</name>
</item>
</configuration>
```
想读取`item`节点的`id`属性,代码直接糊脸上:
```csharp
XmlDocument doc = new XmlDocument();
doc.Load("config.xml"); // 加载文件,路径不对会直接报错,记得加try-catch
XmlNode itemNode = doc.SelectSingleNode("/configuration/item");
if (itemNode?.Attributes == null)
{
Console.WriteLine("节点没找到或者没属性!");
return;
}
string oldId = itemNode.Attributes["id"].Value;
Console.WriteLine($"原来的ID:{oldId}"); // 输出001
```
这里`SelectSingleNode`用XPath定位节点,如果路径写错了或者节点不存在,`itemNode`就是`nu
ll`,所以后面用了`?.`操作符防止空指针。
改属性更简单,找到节点后直接赋值: