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)
    {
        // 找到了
    }
}
相关推荐
muddjsv1 小时前
前端性能优化实战:从加载到渲染的全面提速指南
前端·性能优化
惊鸿醉2 小时前
Unity 实战:用讯飞 WebAPI 做一个“说普通话、播方言“的语音程序
unity·c#·游戏引擎·语音识别
deli0070072 小时前
JSON 树形查看器:粘贴即解析,折叠展开一目了然
前端·数据库·json·ai编程
guanguan0_02 小时前
PageProxy:页面维度接口地图 + 一键场景切换
前端·ai编程·请求代理·proxy工具
liangshanbo12152 小时前
虚拟列表深度面试题整理
java·开发语言·前端
略略略咯咯2 小时前
C#Unity
开发语言·unity·c#
IT_陈寒3 小时前
Redis内存警告竟是因为这个不起眼的配置项
前端·人工智能·后端
lilian2333 小时前
Harmony os 技术实战|拼豆制图43:压缩字符矩阵上线前如何拦住错位图纸
开发语言·前端·华为·矩阵·harmonyos
kyriewen3 小时前
我踩了3次同一个坑才明白:JavaScript里比0.1+0.2更隐蔽的5个数字陷阱
前端·javascript·面试
徐小夕4 小时前
表格、文档、甘特、大屏、表单一站打通:pxcharts超级表格4.0正式上线!
前端·算法·github