C# 操作XML

https://blog.csdn.net/2609_95039045/article/details/157469812?fromshare=blogdetail&sharetype=blogdetail&sharerId=157469812&sharerefer=PC&sharesource=m0_68206177&sharefrom=from_link

这个写的好 https://blog.csdn.net/lizhenxiqnmlgb/article/details/90518571?fromshare=blogdetail&sharetype=blogdetail&sharerId=90518571&sharerefer=PC&sharesource=m0_68206177&sharefrom=from_link

cs 复制代码
 
    //所需要添加的命名空间
    using System.Xml;
    //初始化一个xml实例
    XmlDocument xml=new XmlDocument();
    //导入指定xml文件
    xml.Load("xml文件路径path");
    //指定一个节点
    XmlNode root=xml.SelectSingleNode("节点名称");
    //获取节点下所有直接子节点
    XmlNodeList childlist=root.ChildNodes;
    //判断该节点下是否有子节点
    root.HasChildNodes;
    //获取同名同级节点集合
    XmlNodeList nodelist=xml.SelectNodes("节点名称");
    //生成一个新节点
    XmlElement node=xml.CreateElement("节点名称");
    //将节点加到指定节点下,作为其子节点
    root.AppendChild(node);
    //将节点加到指定节点下某个子节点前
    root.InsertBefore(node,root.ChildeNodes[i]);
    //为指定节点的新建属性并赋值
    node.SetAttribute("id","11111");
    //为指定节点添加子节点
    root.AppendChild(node);
    //获取指定节点的指定属性值
    string id=node.Attributes["id"].Value;
    //获取指定节点中的文本
    string content=node.InnerText;
    //保存XML文件
    xml.Save("xml文件存储的路径path");
cs 复制代码
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("book.xml");

XmlElement newBook = xmlDoc.CreateElement("Book");
newBook.SetAttribute("Id", "3");
newBook.SetAttribute("LibName", "xinhua");
newBook.SetAttribute("Price", "100");
var titleElem = xmlDoc.CreateElement("Title");
titleElem.InnerText = "Pro C#";
newBook.AppendChild(titleElem);
xmlDoc.DocumentElement?.AppendChild(newBook);

xmlDoc.Save("book.xml");

结果:

XML 复制代码
源文件:
<?xml version="1.0" encoding="utf-8" ?>
<Root>
	<Configure1>

	</Configure1>
</Root>

执行后:
<?xml version="1.0" encoding="UTF-8"?>
<Root>
    <Configure1> 
    </Configure1>
    <Book Price="100" LibName="xinhua" Id="3">
        <Title>Pro C#</Title>
    </Book>
</Root>

cs 复制代码
// 1. 先找到 <books> 节点
XmlNode booksNode = xmlDoc.SelectSingleNode("//books");

if (booksNode != null)
{
    // 2. 从 books 里找:id=3 并且 name=xiyouji 的 book
    XmlNode targetBook = booksNode.SelectSingleNode("book[@id='3' and name='xiyouji']");

    if (targetBook != null)
    {
        // 找到了
    }
}
相关推荐
吃西瓜的年年14 小时前
react(四)
前端·javascript·react.js
阿凤2114 小时前
后端返回数据流的格式
开发语言·前端·javascript·uniapp
懂懂tty14 小时前
React Hooks原理
前端·react.js
00后程序员张14 小时前
前端可视化大屏制作全指南:需求分析、技术选型与性能优化
前端·ios·性能优化·小程序·uni-app·iphone·需求分析
kyriewen14 小时前
屎山代码拆不动?微前端来救场:一个应用变“乐高城堡”
前端·javascript·前端框架
@大迁世界14 小时前
3月 React 圈又变天了
前端·javascript·react.js·前端框架·ecmascript
忆江南14 小时前
# iOS 稳定性方向常见面试题与详解
前端
陆枫Larry14 小时前
一次讲清楚 `Promise.finally()`:为什么“无论成功失败都要执行”该用它
前端
CompaqCV14 小时前
OpencvSharp 算子学习教案之 - Cv2.Subtract 重载1
学习·c#·opencvsharp算子·opencv教程
Momo__14 小时前
被低估的 HTML 原生表单元素:dialog、datalist、meter、progress
前端