C# 操作 xml(xmlroot ,xmlattribute,xmlelement)
时间: 2024-01-19 15:55:43 浏览: 25
C# 中可以使用 System.Xml 命名空间下的类来操作 XML 文件,其中常用的包括 XmlRoot、XmlAttribute 和 XmlElement。
XmlRoot 类用于标记一个类为 XML 文档的根元素,并指定 XML 标签名称和命名空间。示例代码如下:
```csharp
[XmlRoot("person", Namespace = "http://www.example.com")]
public class Person
{
[XmlElement("name")]
public string Name { get; set; }
[XmlElement("age")]
public int Age { get; set; }
[XmlAttribute("id")]
public string Id { get; set; }
}
```
上述代码中,Person 类被标记为 XML 根元素,XML 标签名称为 "person",命名空间为 "http://www.example.com"。Name、Age 和 Id 属性分别用 XmlElement 和 XmlAttribute 标记,指定了它们在 XML 文件中的标签名称。
XmlElement 类用于标记一个属性为 XML 元素,并指定 XML 标签名称。示例代码如下:
```csharp
[XmlElement("address")]
public string Address { get; set; }
```
上述代码中,Address 属性被标记为 XML 元素,XML 标签名称为 "address"。
XmlAttribute 类用于标记一个属性为 XML 属性,并指定 XML 属性名称。示例代码如下:
```csharp
[XmlAttribute("email")]
public string Email { get; set; }
```
上述代码中,Email 属性被标记为 XML 属性,XML 属性名称为 "email"。
在使用以上类进行 XML 操作时,需要先创建一个 XmlDocument 对象,并使用 Load 方法加载 XML 文件。示例代码如下:
```csharp
XmlDocument doc = new XmlDocument();
doc.Load("example.xml");
```
然后可以使用 SelectSingleNode 或 SelectNodes 方法查找 XML 元素或属性,并使用 InnerText 或 InnerXml 属性获取其值。示例代码如下:
```csharp
XmlNode nameNode = doc.SelectSingleNode("/person/name");
string name = nameNode.InnerText;
XmlNode emailNode = doc.SelectSingleNode("/person/@email");
string email = emailNode.Value;
```