当前位置: 首页 > news >正文

了解 XML结构(一)

文章目录

      • 1 XML定义
      • 2 了解XML结构
      • 3 XML节点类型
      • 4 加载读取XML
      • 5 小结

1 XML定义

XML是一种可扩展标记语言(Extensible Markup Language, XML),可以用来标记数据,定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

2 了解XML结构

<?xml version="1.0"?><books><book><author>张三</author><price format="dollar">36.75</price><pubdate>2022/09</pubdate></book><pubinfo><publisher>台海出版社</publisher><state>完成</state></pubinfo></books>

在这里插入图片描述

1、 有且仅有一个根节点books
2、元素节点Node之间是父子关系(书籍和作者)兄弟关系(价格和出版日期)
3、元素节点还可以拥有自己的属性,比如价格的属性format格式(人民币/美元)。format的属性值是dollar.
4、根元素是books, 下面的元素子节点有bookpubinfo; book中有元素节点price ,其中price 的值是36.75;price 有自己的属性format, format的值是dollar.

3 XML节点类型

>>>>>>>>>>>>>>>>>>>>>>
DOM节点类型对象描述
DocumentXmlDocument树中所有节点的容器。
DocumentFragmentXmlDocumentFragment包含一个或多个不带任何树结构的节点的临时袋
DocumentTypeXmlDocumentType表示!DOCTYPE...节点
EntityReferenceXmlEntityReference表示非扩展的实体引用文本
元素XmlElement表示元素节点
AttrXmlAttribute元素的属性
注释XmlComment注释结点
TextXmlText属于某个元素或属性的文本
实体XmlEntiry表示XML文档中的 !ENTIRY...声明
NotationXmlNotation表示DTD中的声明表示法

4 加载读取XML

使用下面的xml内容,保存到D:\books.xml

<?xml version="1.0"?><books><book><author>张三</author><price format="dollar">36.75</price><pubdate>2022/09</pubdate></book><pubinfo><publisher>台海出版社</publisher><state>完成</state></pubinfo></books>

加载xml文档,并读取结点内容打印出来

           //创建 XmlDocument 对象XmlDocument xml = new XmlDocument();//加载文档xml.Load(@"D:\books.xml");//获取XML文档的根元素XmlElement docElement = xml.DocumentElement;Console.WriteLine("docElement is :" + docElement.LocalName);//获取根元素下的第一个子节点XmlNode bookNode = docElement.FirstChild;Console.WriteLine("bookNode is :" + bookNode.LocalName);foreach(XmlNode node in bookNode.ChildNodes){//遍历book中的节点Console.WriteLine("node is :" + node.LocalName);Console.WriteLine("node Text is :" + node.InnerText);}

运行结果输出:

docElement is :books
bookNode is :book
node is :author
node Text is :张三
node is :price
node Text is :36.75
node is :pubdate
node Text is :2022/09

5 小结

XML文档的结构

1 有且仅有一个根节点
2 以<?xml version="1.0" encoding="utf-8"?>开头
3 XML类似一个树形结构,结点之间关系可以是父子关系或兄弟同级关系
4 每个节点有自己的文本和属性,对应的属性也有属性值。
5 每个节点和属性都是我们自定义语言去描述的

相关文章:

了解 XML结构(一)

文章目录 1 XML定义2 了解XML结构3 XML节点类型4 加载读取XML5 小结 1 XML定义 XML是一种可扩展标记语言&#xff08;Extensible Markup Language, XML&#xff09;,可以用来标记数据&#xff0c;定义数据类型&#xff0c;是一种允许用户对自己的标记语言进行定义的源语言。 …...

Vue简单语法记录

指令 v-show&#xff1a;展示和隐藏 如图片的展示和隐藏 &#xff08;底层是其实已经创建了 加了个css属性&#xff0c;display none&#xff09;v-if&#xff1a;创建和删除 创建和删除&#xff0c;删除就真的没了v-for&#xff1a; 遍历指令 v-for"item in list&…...

matplotlib的安装和使用教程:中文字体及语言参数设置

matplotlib是一个常用的数据可视化库&#xff0c;广泛应用于科学研究、工程设计、金融分析等领域。由于其强大的功能和易用性&#xff0c;matplotlib已经成为了广大科研工作者和数据分析师的必备工具之一。本文将重点介绍matplotlib的安装和允许中文及几种字体的方法。 一、mat…...

mysql深分页

第一种&#xff1a;主键自增id情况&#xff1a; 未改&#xff1a; select * from wx_product_category_info where category_name_cn#{categoryNameCn} and category_type#{categoryType} order by id asclimit #{pageNum}, #{pageSize};在普通的limit条件下&#xff0c;如果…...

【JavaScript由浅入深】常用的正则表达式

【JavaScript由浅入深】常用的正则表达式 文章目录 【JavaScript由浅入深】常用的正则表达式写在前面一、认识正则表达式1.1 正则表达式的概念 二、正则表达式的使用2.1 使用构造函数创建正则表达式2.2 使用字面量创建正则表达式2.3 补充 三、正则表达式常见规则3.1 字符类3.2 …...

QT常用类型字节数组QByteArray及其基本使用

目录 概述特点常见函数QByteArray::append&#xff1a;QByteArray::insert&#xff1a;QByteArray::replace&#xff1a;QByteArray::remove&#xff1a;QByteArray::toHex&#xff1a;QByteArray::fromHex&#xff1a;QByteArray::toBase64&#xff1a;QByteArray::fromBase64…...

APP 兼容性测试是什么?8年测试老鸟告诉你

1、APP 兼容性测试认识 随着 APP 应用范围越来越广&#xff0c;用户群体越来越大&#xff0c;终端设备的型号也越来越多&#xff0c;移动终端碎片化加剧&#xff0c;使得 APP 兼容性测试成为测试质量保障必须要考虑的环节。 APP 兼容性测试通常会考虑&#xff1a;操作系统、厂…...

Golang每日一练(leetDay0061) 表列序号、阶乘后的零

目录 171. Excel 表列序号 Excel Sheet Column Number &#x1f31f; 172. 阶乘后的零 Factorial Trailing Zeroes &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练…...

深度解析C++异常处理机制:最佳实践、性能分析和挑战

C 基础知识 八 异常处理 下篇 一、异常处理实践1 编写高质量代码中的异常处理1.1 只在必要时才使用异常1.2 尽量减小异常的范围1.3 不要隐藏异常1.4 不要在析构函数中抛出异常1.5 使用 RAII 技术来管理资源 2 维护异常类2.1 按照异常类型的功能来定义异常类2.2 继承现有的异常类…...

【Spring事务】Spring事务事件控制,解决业务异步操作

使用背景 在业务中&#xff0c;经常会有这样的需求&#xff0c;在数据库事务提交之后&#xff0c;发送异步消息或者进行其他的事务操作。 例如当用户注册成功之后&#xff0c;发送激活码&#xff0c;如果用户注册后就执行发送激活码&#xff0c;但是在用户保存时出现提交事务…...

Java 中的注释有哪些?

在 Java 中&#xff0c;有三种注释方式&#xff1a;单行注释、多行注释和文档注释。注释是程序中的一种重要的辅助性说明文字&#xff0c;可以增加程序的可读性和可维护性&#xff0c;方便其他程序员阅读和理解代码。 单行注释 单行注释是指以“//”开头的注释&#xff0c;注释…...

yolov4

1 V4版本概述 集各种优秀方案于一身&#xff0c;嫁接了众多主流的目标识别方面的情况。 V4 贡献 3. 数据增强策略分析 BOF Bag of freebies(BOF) Mosiac 数据增强 Mixup 比如将狗和猫的两张图片混合&#xff0c;一半猫&#xff0c;一半狗。 label 也变成 Dog 0.5 , Cat 0…...

金融学第二版笔记第一章1.1

第1部分 金融和金融体系 第一章金融学 1.1 一、 对金融学进行界定 1.金融 金融是货币流通、信用活动及与之相关的经济行为的总称。 简言之&#xff0c;就是货币资金的融通。一般是指以银行、证券市场等为中心的货币流通和信用调节活动&#xff0c;包括货币的发行和流通、存…...

[架构之路-193]-《软考-系统分析师》-2-应用数学 - 项目周期与关键路径(PERT图、甘特图、单代号网络图、双代号网络图)

1. 关键概念 1.1 关键路径 关键路径通常&#xff08;但并非总是&#xff09;是决定项目工期的进度活动序列。它是项目中最长的路径&#xff0c;即使很小浮动也可能直接影响整个项目的最早完成时间。关键路径的工期决定了整个项目的工期&#xff0c;任何关键路径上的终端元素…...

滋灌中小企业,分销伙伴和华为来做“送水人”

最近有个段子&#xff1a;第一批靠生成式AI赚大钱的人&#xff0c;既不是研发人员&#xff0c;也不是国内大厂&#xff0c;而是卖课的。 大家笑谈&#xff0c;每一轮新技术的掘金之路&#xff0c;最先致富的都是送水、卖铲子的。 这其实隐藏了一个信息技术产业的普遍规律&#…...

面试华为测试岗,收到offer后我却毫不犹豫拒绝了....

我大学学的是计算机专业&#xff0c;毕业的时候&#xff0c;对于找工作比较迷茫&#xff0c;也不知道当时怎么想的&#xff0c;一头就扎进了一家外包公司&#xff0c;一干就是2年。我想说的是&#xff0c;但凡有点机会&#xff0c;千万别去外包&#xff01; 在深思熟虑过后&am…...

深入了解浮点型变量输入与输出

深入了解浮点型变量输入与输出 前言 C 语言中浮点型变量的输入和输出在程序开发中非常常见&#xff0c;比如经常出现在数据处理和科学计算中。在此篇文章中&#xff0c;我们将探讨浮点型变量输入和输出的一些细节和注意事项。 浮点型变量的定义和初始化 在 C 语言中&#x…...

Vector - CAPL - CANoe硬件配置函数 - 03

目录 canFlushTxQueue -- 刷新已定义的Tx队列 代码示例 canSetChannelAcc -- CANoe接收过滤器设置 代码示例 canSetChannelMode -- CAN控制器Tx使能/失能 代码示例 canSetChannelOutput -- Ack自应答使能/失能 代码示例 getCardTypeEx -- CAN控制器类型 canFlushTxQue…...

单开网页应用利器 - BroadcastChannel

前言 前段时间在做一个基于 psd 模板生成图片的应用&#xff0c;其中重要的功能就是打开编辑器页面来设计出图。但是有个问题&#xff0c;每当我点击一个模板&#xff0c;就会新开一个浏览器页签。现代浏览器是以空间换时间的运行思路来提高效率&#xff0c;这就导致了内存开销…...

OpenCv更改颜色空间以及图像阈值

本文主要讲解以下几个方面: 如何将图片从一个颜色空间转换到另一个&#xff0c;例如 BGR 到 Gray&#xff0c;BGR 到 HSV 等。简单阈值法另外&#xff0c;我们会创建一个从图片中提取彩色对象的应用。 1.改变颜色空间 cv.cvtColor(img, flag) 参数flag表示颜色空间转换的方…...

(邱维声)高等代数课程笔记:基,维数与坐标

3.5 基&#xff0c;维数与坐标 \quad 本节&#xff0c;继续研究线性空间的结构。一般地&#xff0c;设 V V V 是数域 K K K 上的一个线性空间。 \quad 首先&#xff0c;我们先将“线性相关”与“线性无关”的概念由“有限”向“无限”推广。 对比其它高等代数教程&#xff0c…...

Spring Security + Jwt 集成实现登录

文章目录 前言Maven 相关依赖配置文件自定义springsecurity相关认证流程继承WebSecurityConfigurerAdapter继承AbstractAuthenticationToken继承AbstractAuthenticationProcessingFilter实现AuthenticationProvider实现UserDetailsService实现AccessDeniedHandler实现Authentic…...

yolov5 用自己的数据集进行训练

在训练之前先要按照一定目录格式准备数据&#xff1a; VOC标签格式转yolo格式并划分训练集和测试集_爱钓鱼的歪猴的博客-CSDN博客 目录 1、修改数据配置文件 2、修改模型配置文件 3、训练 1、修改数据配置文件 coco.yaml 拷贝data/scripts/coco.yaml文件&#xff0c; pa…...

1951-2023最新中国基础地理信息,包括水系、行政区、DEM高程、气象站经纬位置、土地利用,这些数据获取方法介绍

水系&#xff1a; 流域内所有河流、湖泊等各种水体组成的水网系统&#xff0c;称作水系。其中&#xff0c;水流最终流入海洋的称作外流水系&#xff0c;如太平洋水系、北冰洋水系&#xff1b;水流最终流入内陆湖泊或消失于荒漠之中的&#xff0c;称作内流水系。 [1] 流域面积的…...

CAD处理控件Aspose.CAD功能演示:在 C#中以编程方式搜索 DWG 图形文件中的文本

Aspose.CAD 是一个独立的类库&#xff0c;以加强 Java应用程序处理和渲染CAD图纸&#xff0c;而不需要AutoCAD或任何其他渲染工作流程。该CAD类库允许将DWG&#xff0c; DWT&#xff0c; DWF&#xff0c; DWFX&#xff0c; IFC&#xff0c; PLT&#xff0c; DGN&#xff0c; OB…...

实验二十、压控电压源二阶 LPF 幅频特性的研究

一、题目 研究压控电压源二阶低通滤波电路品质因数 Q Q Q 对频率特性的影响。 二、仿真电路 电路如图1所示。集成运放采用 LM324AJ&#xff0c;其电源电压为 15V。 图 1 压控电压源二阶低通滤波电路幅频特性的测试 图1\,\,压控电压源二阶低通滤波电路幅频特性的测试 图1压控…...

类和对象【C++】【中篇】

目录 一、类的6个默认成员函数 1、构造函数 2、析构函数 3、拷贝构造函数 4、赋值重载函数 二、赋值运算符重载 一、类的6个默认成员函数 注意&#xff1a;默认成员函数不能在类外面定义成全局函数。因为类里没有的话会自动生成&#xff0c;就会产生冲突。 1、构造函数…...

2.SpringBoot运维实用篇

SpringBoot运维实用篇 ​ 基础篇发布以后&#xff0c;看到了很多小伙伴在网上的留言&#xff0c;也帮助超过100位小伙伴解决了一些遇到的问题&#xff0c;并且已经发现了部分问题具有典型性&#xff0c;预计将有些问题在后面篇章的合适位置添加到本套课程中&#xff0c;作为解…...

【c++】浅讲引用

【c】浅讲引用 前言引用定义作用做输出型参数引用作返回值总结 关于引用的权限 结尾 前言 博主开始细学c和linux了 这次就带来浅学了的引用。 引用 定义 引用不是在内存中开辟一个新空间的新变量 类似于给变量取别名&#xff0c;和取别名的对象在空间中公用一个对象 例&#…...

CSS布局基础(文字[行内<块>]与行内[块]垂直对齐方式 文字溢出显示省略号)

文字[行内<块>]与行内[块]垂直对齐方式 文字[行内<块>]与行内[块]垂直对齐方式概述图片底部空隙问题 文字溢出显示省略号单行文字多行文字 文字[行内<块>]与行内[块]垂直对齐方式 概述 vertical-align: top | middle| bottom | baseline(默认) | sub | sup…...