C# XML基本操作

news2024/12/23 9:14:51

一 XML的内容

在这里插入图片描述

二 XML的处理方式

1 DOM

文档对象模型(Document Object Model)

2 SAX

XML解析的简单API(Simple API for XML)

3 .NET提供了XML支持:System.XML名称空间

三 常用的XML类

1 XmlDocument

.LoadXml() .DocumentElement

2 XmlNode属性

① .ChildNodes .HasChildNodes,.FirstChildNode
② .InnerXml .InnerText .OutterXml .Value
③ .NodeType
④ 子类XmlDocument,XmlElement
.XmlAttribute,XmlEntity

四 XmlNode的操作

1 查询(见Xpath)

2 增加

① AppendChild,PrependChild,
② InsertBefore,InsertAfter

3 删改

RemoveChild,ReplaceChild,RemoveAll;

五 使用XmlTextReader及Writer

1 XmlTextReader

1) 对XML数据进行快速,非缓存,只进访问的读取器

① while(reader.Read())
② switch(reader.NodeType);
③ 使用reader.Name及.Value;

2 XmlTextWriter

① WriteStartElement;
② WriteAttributeString;
③ WriteEndElement等;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.IO;

namespace XmlTextWriter1
{
    internal class Program
    {
        private const string filename = "sampledata.xml";
        static void Main(string[] args)
        {
            XmlTextWriter writer = null;

            writer = new XmlTextWriter(filename, null);


            //为使文件易读,使用缩进
            writer.Formatting = Formatting.Indented;

            //写XML声明
            writer.WriteStartDocument();

            //引用样式
            String PItext = "type='text/xsl' href='book.xsl'";
            writer.WriteProcessingInstruction("xml-stylesheet", PItext);
            //文档类型
            writer.WriteDocType("book", null, null, "<!ENTITY h 'hardcover'>");
            //写入注释
            writer.WriteComment("sample.XML");

            //写一个元素(根元素)
            writer.WriteStartElement("book");

            //属性
            writer.WriteAttributeString("genre", "novel");

            writer.WriteAttributeString("ISBN", "1-8630-014");

            //书名元素
            writer.WriteAttributeString("title", "The Handmaid' s Tale");

            writer.WriteStartElement("style");
            writer.WriteEntityRef("h");

            //价格元素
            writer.WriteElementString("price", "19.95");
            //写入CDATA
            writer.WriteCData("Prices 15% off!");
            //关闭根元素
            writer.WriteEndElement();
            writer.WriteEndDocument();

            writer.Flush();
            writer.Close();

            //加载文件
            XmlDocument doc = new XmlDocument();
            doc.PreserveWhitespace = true;
            doc.Load(filename);

            Console.Write(doc.InnerXml);
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/124428.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux安装mongodb的详细教程

目录 一、下载MongoDB Community Server(社区版) 三、启动mongodb 四、利用配置文件启动mongodb服务 一、下载MongoDB Community Server(社区版) 1.1、下载地址 Download MongoDB Community Server | MongoDB 1.2、选择安装版本 二、上传下载后的mongodb安装包&#xff0c;如…

vue路由写法小结

咱们先说路由的匹配语法&#xff0c;动态路由在项目中经常用到&#xff0c;在某些情况下我们要对路径参数进行正则表达式校验。 基础用法&#xff1a; 使用正则表达式后&#xff08;仅匹配数字&#xff09;&#xff1a; 加入*传入多个params参数&#xff0c;此时参数可以传多个…

使用Nordic的nrf52832进行主从机连接抓包分析

主机使用例程&#xff1a;nRF5_SDK_17.1.0_ddde560\examples\ble_central\ble_app_blinky_c\pca10040\s132\arm5_no_packs 从机使用例程&#xff1a;nRF5_SDK_17.1.0_ddde560\examples\ble_peripheral\ble_app_blinky\pca10040\s132\arm5_no_packs nrf528321. 空中数据包格式1.…

基于Amlogic 安卓9.0, 驱动简说(二):字符设备驱动,自动创建设备

文章目录一、前言二、系列文章三、替换部分3.1 自动分配设备号3.2 自动创建设备四、解析&#xff1a;完整源码4.1 helloworld_amlogic_char_driver_auto_mknode.c4.2 Makefile五、编译执行&#xff08;1&#xff09;编译及部署&#xff08;2&#xff09;加载ko文件&#xff08;…

HCIP作业三

文章目录一&#xff0c;建立拓扑图1&#xff0c;目的&#xff1a;实现全网可达二&#xff0c;在OSPF1区域1&#xff0c;所有路由器配置IP地址&#xff08;包含OSPF100区域&#xff09;2&#xff0c;进行O1的宣告&#xff0c;不能宣告ISP网段3&#xff0c;在O1区域的R3写缺省去I…

MIT6.830-2022-lab3实验思路详细讲解

文章目录一、实验概览二、实验过程成本估算&#xff08;Cost Estimation&#xff09;&#xff1a;基数和选择率Exercise 1: IntHistogramExercise 2: TableStatsExercise 3: Join Cost EstimationExercise 4: Join Cost EstimationExtra Credit总结一、实验概览 对于这次lab&a…

尚医通-数据字典接口-前端列表(十三)

目录&#xff1a; &#xff08;1&#xff09;数据字典接口-需求和准备 &#xff08;2&#xff09;数据字典接口-列表 &#xff08;3&#xff09; 数据字典前端-列表 &#xff08;1&#xff09;数据字典接口-需求和准备 前面我们完成了医院设置模块的开发&#xff0c;现在来…

js数组篇

数组定义 var arr1new Array(33,44,55,66); var arr2[A,B,C,D]; var arr3new Array(4); 数组常用方法 splice()方法用于替换数组中的指定项 splice(3,2,X,Y,Z)&#xff1a;从下标为3的项开始&#xff0c;连续替换2项 &#xff0c;插入XYZ var arr[A,B,C,D,E,F,G]; arr.spl…

Java线程间通信机制 (等待唤醒机制)

1.1 线程间通信 概念&#xff1a;多个线程在处理同一个资源&#xff0c;但是处理的动作&#xff08;线程的任务&#xff09;却不相同。 比如&#xff1a;线程A用来生成包子的&#xff0c;线程B用来吃包子的&#xff0c;包子可以理解为同一资源&#xff0c;线程A与线程B处理的动…

[JavaEE] Thread类及其常见方法

专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 1.Thread 的常见构造方法 2.Thread 的几个常见属性…

机器学习基石2(noise和error)

文章目录一、什么是noise&#xff1f;二、什么是error&#xff1f;三、常用error一、什么是noise&#xff1f; 我们之前的讨论都是一种理想化的说明&#xff0c;比如数据来源于目标函数fff&#xff0c;似乎我们手里拿到的数据是这样得来的&#xff0c;随机取一个输入&#xff0…

DOM算法系列009-判断给定节点是否为块级元素

UID: 20221227215215 aliases: tags: source: cssclass: created: 2022-12-27 块级元素 给定一个节点&#xff0c;如何判定它是否为块级元素呢&#xff1f; 首先&#xff0c;块级元素一定是元素节点&#xff0c;所以它的nodeType 1其次&#xff0c;我们思考&#xff0c;有什…

Redis分布式缓存、秒杀

目录一、单点Redis的问题二、RDB三、AOF四、Redis优化秒杀流程1、秒杀步骤&#xff1a;2、Redis优化秒杀步骤&#xff1a;3、秒杀的lua脚本4、调用秒杀的lua脚本5、通过线程池&#xff0c;操作阻塞队列五、基于Redis实现共享session登录NoSQL数据库进阶实战哪吒精品系列文章一、…

linux常用命令(二)-文件操作

文件创建 - touch 一般使用touch 来创建某个新增的文件 语法 touch [-acfm][文件名]a&#xff1a;改变档案的读取时间记录c&#xff1a;假如目的档案不存在&#xff0c;不会建立新的档案。与 --no-create 的效果一样。f&#xff1a;不使用&#xff0c;是为了与其他 unix 系统…

python的tkinter(图形用户界面)

目录标题什么是图形用户界面&#xff08;GUI&#xff09;Tinter函数和参数说明&#xff08;常用&#xff09;Lable(标签)&#xff1a;效果Button(按钮)效果Entry(文本框)效果Text &#xff08;多行文本框&#xff09;Canvas(画布)效果Message(消息弹窗)效果什么是图形用户界面&…

kaggle学习笔记-otto-baseline4-本地CV的构建

总览 步骤 1 - 生成候选 对于每个测试用户&#xff0c;我们生成可能的选择&#xff0c;即候选人。、我们从 5 个来源生成候选人&#xff1a; 点击、购物车、订单的用户历史记录测试周期间最受欢迎的 20 次点击、购物车、订单具有类型权重的点击/购物车/订单到购物车/订单的共…

中国芯片奇才,仅用三年打破欧美垄断,创造奇迹

有这么一位中国人&#xff0c;打破了欧美长达10年的芯片技术垄断。这位最该追的星&#xff0c;她是谁&#xff1f;又是如何让欧美芯片领域闻风丧胆。早在2017年&#xff0c;芯片国产化已接近50%&#xff0c;然而25g以上芯片却仅有3%&#xff0c;该技术一直掌握在欧美等发达国家…

融云任杰:激活组织生命力 让听见炮火的人做决策 | TGO专访

任杰&#xff0c;融云联合创始人兼首席科学家&#xff0c;TGO 鲲鹏会&#xff08;北京&#xff09;学员&#xff1b;曾就职于微软和神州泰岳等公司&#xff0c;在微软两次获得全球杰出员工奖&#xff0c;曾负责中国联通搭建 WAP 网关、增值业务管理平台&#xff1b;在神州泰岳期…

数据结构(线性表及顺序表)

目录 线性表 线性结构定义 常见线性结构 线性表 顺序表及其实现 顺序结构 顺序表的存储映像图 顺序表seqList及操作的定义&#xff08;seqList.h&#xff09; 顺序表基本操作的实现分析 查找操作 实现代码 插入操作 实现代码 删除操作 实现代码 顺序表应用——…

手绘图说电子元器件-集成电路

集成电路是高度集成化的电子器件,具有集成度高、功能完整、可靠性好、体积小、重量轻、功耗低的特点,已成为现代电子技术中不可或缺的核心器件。 集成电路可分为模拟集成电路和数字集成电路两大类,包括集成运放、时基集成电路、集成稳压器、门电路、触发器、计数器、译码器…