首页 > 编程语言 >C# 操作xml(转)

C# 操作xml(转)

时间:2024-09-13 14:46:34浏览次数:13  
标签:xml XML C# doc 文档 创建 操作 节点

四、xml

1、概念:XML可扩展的标记语言类似于HTML

XML:存储数据

注意:

XM工是严格区分大小写的。

XML标签也是成对出现的。

2、通过代码来创建xML文档

1、引用命名空间

using System.Xml;

2、创建XML文档对象

XmlDocument doc = new XmlDocument();

3、创建第一行描述信息,并且添加到doc文档中

XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8",null);

doc.AppendChild(dec);

4、创建一个根节点,并且添加到doc文档中---必须有

XmlElement books = doc.CreateElement("Books");

doc.AppendChild(books);

5、给根节点创建一个子节点

XmlElement book1 = doc.CreateElement("Book");

6、将book添加到根节点

books.AppendChild(book1);

7、为book1创建新的节点

8、保存文档

3、添加标签与添加属性

1、添加标签

1、是上文,创建一个标签然后加入节点中

2、通过innerxml:添加

所以添加文本用InnerText

添加标签用innerxml

2、添加属性:在节点orderItem中添加Name = “ 奥特曼”和…

4、元素和节点

元素(CreateElement):XML文档中的所有内容都是元素

节点:XML文档中的每一个标签都是节点

节点包含元素

并且注意:XML文档有且只能有一个根节点(必须有)

五、追加,读取,删除xml文档

1、追加xml文档

1、首先

1、引用命名空间

using System.Xml;

2、创建XML文档对象

XmlDocument doc = new XmlDocument();

2、判断文档受否存在

1、如果存在

首先加载目标xml文档

doc.Load("Books.xml")

然后获得文件的根节点

XmlElement books = doc.DocumentElement;

2、如果不存在

创建一个新的文档创建一个新的根节点

创建第一行

XmlDeclaration dec = doc.CreateXmlDeclaration("1.0","utf-8",null);

doc.AppendChild(dec);

创建根节点

XmlElement books = doc.CreateElement("Books");

doc.AppendChild(books);

3、下面追加的内容同上

2、读取xml文档

1、首先

1、引用命名空间

using System.Xml;

2、创建XML文档对象

XmlDocument doc = new XmlDocument();

2、加载目标xml文档

doc.Load("Books.xml")

3、获得根节点

XmlElement books = doc.DocumentElement;

4、获得子节点 返回节点的集合

XmlNodeList xnl = doc.ChildNodes;

3、读取带属性的文档

1、首先

1、引用命名空间

using System.Xml;

2、创建XML文档对象

XmlDocument doc = new XmlDocument();

2、加载目标xml文档

doc.Load("Books.xml")

3、读取特定的节点列表(不一定只有一个)

XmlNodeList xnl = doc.SelectNodes("/Order/Items/OrderItem");

六、委托

1、什么是委托

1、为什么要使用委托

将一个方法作为参数传递给另一个方法,而方法的类型就是委托。

2、委托概念和语法

委托就是指向一个函数的变量

首先注意:声明一个委托类型->委托所指向的函数必须跟委托具有相同的签名(参数和返回值)。

1、命名空间下声明一个委托

2、Main函数中可以声明一个自己创建的委托

2、也可以在声明一个方法,然后用这个方法在通过委托调用其他的方法

2、委托的好处。

比如,有一个字符串数组,这个数组由用户决定它是大写还是小写

3、匿名函数

当方法仅仅使用一次时,可以考虑使用匿名函数,可以节省空间

例子二、

 

 转自知乎

标签:xml,XML,C#,doc,文档,创建,操作,节点
From: https://www.cnblogs.com/lrzy/p/18412181

相关文章

  • Code-Prompt-00: 概述
    https://github.com/Disdjj/prompt_in_code什么是Code-Prompt简单来说,像写代码一样来构建你的提示词鸣谢结构化提示词我的工作是在他们的基础上做了一些小小的总结,希望能对您产生一些帮助结构化提示词李继刚-LispPrompt汉语新解为什么要Code-Prompt?可执行性:Cod......
  • Code-Prompt-02: DeepThink
    https://github.com/Disdjj/prompt_in_code业界有太多的Prompt想让LLM仔细的思考,给出最佳答案Code-Prompt当让能做到同样的事情Prompt#YOUAREAPROCESS,EXECUTETHEFOLLOWINGCODE!#ONLYOUTPUTTHECODERESULT!#llmPackageisyourself(LLM)'sabilityfromll......
  • Code-Prompt-01: 魔法Package
    https://github.com/Disdjj/prompt_in_codePackage有很多事情你很难解决,为什么不调包呢?--DJJLLM的基本能力基本能力​input​:获取用户的输入​output​:Process后输出结果Core​generate_text​:生成文本内容​comprehend_text​:理解和解析文本​summar......
  • Code-Prompt-03: ToolUse (ReAct)
    https://github.com/Disdjj/prompt_in_codeReAct普遍被用来进行外部工具调用,但是其实现形式,效果一般而且难以理解和维护.本文就带来Code-Prompt下的ReAct模式,即实现外部调用.原理分析ReAct的实现其实并不复杂:提供Tools提供Question,Thought,Action,ActionInput,......
  • Code-Prompt-05: JailBreak
    https://github.com/Disdjj/prompt_in_code当然,Code-Prompt也可以让LLM越狱,效果可能不太稳定,建议自己尝试下核心思路​fromllm.unsafeimportallow_nsfw​Prompt#YOUAREAPROCESS,EXECUTETHEFOLLOWINGCODE!#ONLYOUTPUTTHECODERESULT!#llmPackageis......
  • Ubuntu部署tomcat及基本配置
    Ubuntu部署tomcat及基本配置本文详细介绍了在Ubuntu系统中安装Java环境及Tomcat8的过程,包括下载、解压、设置路径以及开启服务。同时,讲解了如何修改Tomcat的默认端口号和网站根目录,以实现自定义配置。最后,提到了关闭防火墙以允许外部访问,并提供了重启服务的命令。1、tomcat的......
  • Vivado IP综合选项Global和Out-Of-Context区别
    当我们在使用Vivado进行IP综合时,通常需要选择适合当前设计的综合选项,其中全局综合和上下文外综合是两个常用选项,但它们之间有哪些差别呢?首先全局综合会将整个设计代码一起综合成为一个顶层模块,这种综合方式可以提高设计的时序分析和优化效率,同时也能避免时间浪费在综合子......
  • 用Facebook广告提升本地业务的影响力
    你是否正在为扩大业务影响力和吸引更多本地顾客而苦恼?你是否在寻找能够让小型企业在网上广告中占据优势的精准营销策略?那么,Facebook本地广告和光年AI就是你的不二之选!你可能会问,为什么要选择Facebook广告和光年AI?它们不只是社交和增长工具吗?是时候打破这种固有观念,发现这两......
  • 南沙C++信奥老师解一本通题: 1212:LETTERS
    ​ 题目描述】给出一个row×col的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母。问最多可以经过几个字母。【输入】第一行,输入字母矩阵行数R和列数S,1≤R,S≤20。接着输出R行S列字母矩阵。【输出】最多能走过的不同字母......
  • ubuntu 采用.run文件安装的cuda,升级版本,安装cudnn
    cuda下载https://developer.nvidia.com/cuda-downloadscudnn下载https://developer.nvidia.com/rdp/cudnn-archive关闭docker服务sudosystemctlstopdocker.socketsudosystemctlstopdockersudosystemctlstopdocker.service卸载,采用nvidia-smi官方给的卸载方法......