欢迎光临
我们一直在努力

c# xml操作

C下使用XmlDocument操作XML详解

XML(可扩展标记语言)是一种用于存储和传输数据的标记语言,在C中,我们可以使用XmlDocument类来操作XML文档,XmlDocument是一个表示XML文档的DOM(文档对象模型)树的对象,它提供了一组方法来创建、修改和查询XML文档,下面将详细介绍如何使用XmlDocument操作XML文档。

创建XmlDocument对象

要使用XmlDocument操作XML文档,首先需要创建一个XmlDocument对象,可以通过以下几种方式创建XmlDocument对象:

1、从文件中加载XML文档:

string xmlFilePath = "example.xml";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFilePath);

2、从字符串中加载XML文档:

string xmlString = @"<books>
                        <book>
                            <title>Book1</title>
                            <author>Author1</author>
                        </book>
                        <book>
                            <title>Book2</title>
                            <author>Author2</author>
                        </book>
                    </books>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);

3、从命名空间和XPath加载XML文档:

string xmlNamespace = "http://www.w3.org/2000/xmlns/";
string xmlXPath = "/books";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlNamespace, xmlXPath);

读取XML文档内容

通过XmlNode属性可以访问XML文档中的元素和属性,要获取根元素的所有子元素,可以使用以下代码:

XmlNodeList childNodes = xmlDoc.DocumentElement.ChildNodes;
foreach (XmlNode childNode in childNodes)
{
    Console.WriteLine("节点名称:" + childNode.Name);
}

添加和删除元素和属性

1、添加元素:

XmlElement newElement = xmlDoc.CreateElement("book");
newElement.SetAttribute("title", "New Book");
newElement.SetAttribute("author", "New Author");
xmlDoc.DocumentElement.AppendChild(newElement);

2、删除元素:

XmlNode deleteNode = xmlDoc.SelectSingleNode("/books/book[@title='New Book']"); // 根据条件选择要删除的节点
if (deleteNode != null)
{
    xmlDoc.DocumentElement.RemoveChild(deleteNode); // 删除选中的节点
}

修改元素和属性值

XmlNode updateNode = xmlDoc.SelectSingleNode("/books/book[@title='New Book']"); // 根据条件选择要更新的节点
if (updateNode != null)
{
    updateNode.InnerText = "Updated Book"; // 修改选中节点的内容或属性值
}

查询XML文档内容(XPath表达式)

string bookTitle = xmlDoc.SelectSingleNode("/books/book[@title='Book1']").InnerText; // 根据XPath表达式查询节点内容并赋值给变量bookTitle
Console.WriteLine("Book Title: " + bookTitle); // 输出查询结果
未经允许不得转载:九八云安全 » c# xml操作