XML基础(下)

XML的基础 提示:这里对文章进行总结:没有总结。 阅读详情

5 XML属性

  XML 元素可以在开始标签中包含属性,类似 HTML。  属性 (Attribute) 提供关于元素的额外(附加)信息。

在 HTML 中(以及在 XML 中),属性提供有关元素的额外信息:

<img src="computer.gif">
<a href="demo.asp"> 

属性通常提供不属于数据组成部分的信息。在下面的例子中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要:
<file type="gif">computer.gif</file>

使用属性时要注意的几个问题:

5.1 XML 属性必须加引号

属性值必须被引号包围,不过单引号和双引号均可使用。比如一个人的性别,person 标签可以这样写:


<person sex="female">

或者这样也可以:

<person sex='female'>

注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:
<gangster name='George "Shotgun" Ziegler'>

或者可以使用实体引用:
<gangster name="George "Shotgun" Ziegler">

5.2 XML 元素和XML属性比较

请看这些例子:


<person sex="female">
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person> 

<person>
  <sex>female</sex>
  <firstname>Anna</firstname>
  <lastname>Smith</lastname>
</person>

在第一个例子中,sex 是一个属性。在第二个例子中,sex 则是一个子元素。两个例子均可提供相同的信息。

没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素。我的经验是在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。

下面的三个 XML 文档包含完全相同的信息:

第一个例子中使用了 date 属性:

<note date="08/08/2008">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note> 


第二个例子中使用了 date 元素:

<note>
<date>08/08/2008</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note> 

第三个例子中使用了扩展的 date 元素(这是我的最爱):

<note>
<date>
  <day>08</day>
  <month>08</month>
  <year>2008</year>
</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

5.3 尽量避免使用XML属性

因使用属性而引起的一些问题:

  • 属性无法包含多重的值(元素可以)
  • 属性无法描述树结构(元素可以)
  • 属性不易扩展(为未来的变化)
  • 属性难以阅读和维护

请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。

不要做这样的蠢事(这不是 XML 应该被使用的方式):

<note day="08" month="08" year="2008"
to="George" from="John" heading="Reminder" 
body="Don't forget the meeting!">
</note>

5.4 针对元数据的 XML 属性

有时候会向元素分配 ID 引用。这些 ID 索引可用于标识 XML 元素,它起作用的方式与 HTML 中 ID 属性是一样的。这个例子向我们演示了这种情况:


<messages>
  <note id="501">
    <to>George</to>
    <from>John</from>
    <heading>Reminder</heading>
    <body>Don't forget the meeting!</body>
  </note>
  <note id="502">
    <to>John</to>
    <from>George</from>
    <heading>Re: Reminder</heading>
    <body>I will not</body>
  </note> 
</messages>

上面的 ID 仅仅是一个标识符,用于标识不同的便签。它并不是便签数据的组成部分。

在此我们极力向您传递的理念是:元数据(有关数据的数据)应当存储为属性,而数据本身应当存储为元素。

6 XML验证

前面介绍了XML的语法规则:


  • XML 文档必须有根元素
  • XML 文档必须有关闭标签
  • XML 标签对大小写敏感
  • XML 元素必须被正确的嵌套
  • XML 属性必须加引号
合法的 XML 文档应当遵循XML的语法规则,同样遵守文档类型定义 (DTD) 的语法规则:


<?xml version="1.0" encoding="ISO-8859-1"?>
<span style="color:#6633FF;"><!DOCTYPE note SYSTEM "Note.dtd"></span>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

在上例中,DOCTYPE 声明是对外部 DTD 文件的引用。下面的段落展示了这个文件的内容。

6.1 XML DTD

DTD 的作用是定义 XML 文档的结构。它使用一系列合法的元素来定义文档结构:


<!DOCTYPE note [
  <!ELEMENT note (to,from,heading,body)>
  <!ELEMENT to      (#PCDATA)>
  <!ELEMENT from    (#PCDATA)>
  <!ELEMENT heading (#PCDATA)>
  <!ELEMENT body    (#PCDATA)>
]>

6.2 XML Schema

W3C 支持一种基于 XML 的 DTD 代替者,它名为 XML Schema:

<xs:element name="note">

<xs:complexType>
  <xs:sequence>
    <xs:element name="to"      type="xs:string"/>
    <xs:element name="from"    type="xs:string"/>
    <xs:element name="heading" type="xs:string"/>
    <xs:element name="body"    type="xs:string"/>
  </xs:sequence>
</xs:complexType>

</xs:element>

6.3 XML验证器

可以使用下面的XML验证器来验证XML的合法性,当然也可以使用本地下载的XML验证器。

XML验证


手把手教你用Logisim搭建5级流水MIPS CPU(附华中科技计组实验避坑指南) 本文详细介绍了如何使用Logisim从零构建5级流水MIPS CPU,特别针对华中科技大学计算机组成原理实验提供实用指南。内容涵盖单周期CPU过渡、流水线寄存器设计、数据冒险处理等核心环节,并附有实验避坑建议和性能优化技巧,帮助学生高效完成这一挑战性项目。 阅读详情

相关推荐

Cadence Allegro 17.4学习记录开始01-原理图Capture CIS 17.4

Orcad的学习记录

qq_31444421的博客 1万+

XML基础

此篇文章包含XML基础介绍,DTD,XML解析技术(DOM) 里面内容都是基础,想要了解更多推荐文章目录XML初步DTDXML解析技术DOM4J解析XML文件 XML初步 XML:eXtensible Markup Language 可扩展标记语言 XML是一种灵活的标记的语言,没有固定标签,所有的标签都可以自己定义。 通常XML被用于信息的记录与传递,因此XML通常作为配置文件。 格式良好的XML 开头第一句是XML格式声明,用于描述XML的版本(版本只有1.0)和编码方式。 <?xml v

qq_42411214的博客 346

Android流畅度优化实战:从掉帧定位到布局与渲染调优

在移动应用开发中,性能优化是决定用户体验与留存率的关键环节,其中Android流畅度优化更是核心命题。用户感知的“卡顿”往往并非持续低帧率,而是由于掉帧率波动引发的偶发不流畅。本文从性能优化理论出发,系统讲解如何使用Systrace、CPU Profiler等工具定位掉帧瓶颈,深入分析布局层级过深、过度绘制、对象分配与GC压力等常见诱因。同时结合冷启动耗时、列表滚动掉帧、Bitmap加载等真实工程案例,阐述从应用层到系统层的分级优化策略,并给出低端机适配、异步化改造及线上监控体系搭建的实践方案。内容覆盖布局

weixin_29185493的博客 200

XML基础介绍

说起XML,大家都会想起HTML,连接中是我HTML的简单总结,这篇我将重点总结一下XML的基础知识。            首先:HTML(HyperText Markup Language),即超文本标记语言,是用于描述网页文档的一种描述标记语言。                                  而XML(Extensible Markup Language),是

学会改变自己——才能突破 1万+

利用PV操作控制进程的并发进行---经典题解

前趋图 先理清楚前趋图中的逻辑关系:P1没有前驱,P2的前驱是P1,P3的前驱是P1、P2,P4的前驱是P2,P5的前驱是P3、P4。 前驱就是指只有在前驱进程完成后,该进程才能开始执行。由图可知,这里进程之间有6条有向弧,分别表示为P1→P2,P1→P3,P2→P3,P2→P4,P3→P5,P4→P5, 各个进程间的逻辑关系,那么我们需要设定6个信号量(S1、S2、S3、S4、S5、S6),利用PV操作来控制这些过程。 对于第一个空,P1执行完成之后,需要通知P2、P3可以开始,此处需要V(S

Yan Ka Kue的博客 6136

苹果搜索广告ASA开户教程

阅读导航 一、创建账号 1、登录网站 2、填写账号主体信息 3、填写商家和发票信息 4、选择付款方式 二、上传审核材料 1、上传文件 2、请求审批 3、上传文件中的常见问题 一、创建账号 1、用Apple ID登录ASA网站 首先我们进入开户网址:https://app-ads.apple.com/ 如果已拥有Apple ID,直接登录即可,如果没有Apple ID,可以先按照步骤创建Apple ID,再返回登录。 注意,这里登录的Apple ID也有讲究: ① 如果是开发

testflight121的博客 2128

XML 基础介绍

XML 是独立于软件和硬件的信息传输工具,这篇博客是对 XML 的基本介绍

Lyrelion的博客 2565

AutoSAR RTE调度机制揭秘:从定时器事件到Runnable执行的完整流程

本文深入解析了AutoSAR RTE(运行时环境)的核心调度机制,详细阐述了从定时器事件触发到Runnable(可运行实体)执行的完整流程。通过剖析Rte_Start()函数、OS任务与警报的交互,以及事件驱动循环,揭示了RTE如何作为幕后指挥家,高效、可靠地协调软件组件间的周期性任务执行,是打通AutoSAR应用开发的关键。

weixin_29169899的博客 226

XML基础速成

文章目录一、XML简介二、XML语法2.1 标记2.2 元素2.3 属性三、XML元素之间的关系四、XML名称命名规则4.1 XML实体应用4.2 XML CDATA区4.3 XML注释4.4 XML声明4.5 格式正确的XML文档。4.6 XML命名空间4.7 DTD和XML Schema 一、XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据。 XML文档以.xml为后缀。需要彻底注意的是XML是区分大小写的。 先从一个简单的XML例子来了解下xml基础: &lt

craftsman2020的博客 570

Delphi开发者必备:CEF4Delphi跨平台浏览器嵌入实战指南(含Lazarus适配)

本文详细介绍了Delphi开发者如何利用CEF4Delphi实现跨平台浏览器嵌入,包括环境配置、Lazarus适配、ARM架构优化及Firemonkey集成等实战技巧。通过Chromium引擎的强大功能,开发者可以轻松为传统桌面应用添加现代浏览器特性,提升多平台开发效率。

weixin_29233333的博客 226

使用Simulink对固定翼无人机的自动起飞与降落进行仿真

本文介绍了基于Simulink的固定翼无人机自动起飞与降落控制系统设计方法。系统包含飞行器动力学模型、控制系统、环境模拟等模块,通过简化动力学方程描述无人机运动特性。详细说明了从创建模型、设置动力学方程、设计PID控制器(包括自动起飞和降落控制策略)到添加环境模拟的完整仿真流程。重点阐述了升降舵和发动机推力的控制律设计,以及性能评估要点。本方法可有效验证控制系统设计,优化飞行稳定性和安全性参数,为无人机自主控制提供仿真支持。

amy_mhd的博客 223

XML外部实体注入--XML基础

XML 即可扩展标记语言(Extensible Markup Language),用于标记电子文件,使其具有结构性。它是一种允许用户对自己的标记语言进行定义的源语言,可用来标记数据、定义数据类型。

qq_37107430的博客 1634

AI视频生成工作流开发:从产品拆解到带货视频全流程实现

本文介绍了一套完整的AI视频生成工作流开发方案,该系统能够自动分析产品素材并生成9个标准化分镜,支持白底图智能替换,最终输出专业带货视频。系统基于Coze平台搭建,整合豆包大模型及多模态生成模型,实现从产品分析、脚本生成到视频合成的全流程自动化。关键模块包括产品特征提取、智能分镜分配、视觉内容生成和用户交互调整,支持手动优化提示词和输出结果。该方案采用模块化设计,结合多种AI模型协同工作,为电商视频制作提供高效解决方案。

huanghm88的专栏 383

xml基础

本文主要是学习XML 的笔记!

墨城烟柳ベ旧人殇的博客 3763

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java 基础之读写XML

记录一下Jave中读写XML的基础使用方法,本文描述了在java中加载xml,读取xml节点和属性数据,修改节点和属性数据,将修改保存到文件等方法。并提供了多种方式,包括DOM、DOM4J等。

QIFU的专栏 1523

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

XML基础学习

DTD是用来规范XML文档格式,既可以用来说明哪些元素/属性是合法的以及元素间应当怎样嵌套/结合,也用来将一些特殊字符和可复用代码段自定义为实体DTD可以嵌入XML文档当中(内部声明),也可以以单独的文件存放(外部引用)

2201_75857869的博客 752

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

XML的基础知识

XML的基础知识一、什么是XML?二、XML的树结构1.XML文档的基本结构2.XML文档实例3.书店的XML表示示例三、XML的语法1.XML的语法规则2.XML的实体引用 一、什么是XML? XML 指可扩展标记语言(EXtensible Markup Language); XML 是一种标记语言,很类似 HTML; XML 的设计宗旨是传输数据,而非显示数据; XML 标签没有被预定义,需...

weixin_43951995的博客 943

JavaEE基础之- xml

xml文档约束是用另一个文件来约束xml文档的结构,例如要求xml文档的根元素必须是 <students> ,在 <students> 元素下可以包含0~n个 <student> 元素,每个 <student> 元素必须有一个number属性,而且还要有三个子元素,分别为<name>、<age>、<sex>,这三个子元素的内容必须为文本内容,而不能是子元素。一个应用程序如果需要DOM或SAX来访问XML文档,还需要一个实现了DOM或SAX的解析器,也就是说这个解析器需要实现DOM或SAX中定义的接口。

m0_75163045的博客 1439

XML学习之基础

XML基础 XML被设计用来传输和存储数据。 XML指可扩展标记语言 XML是一种标记语言,类似HTML XML的设计宗旨是传输数据,而非显示数据 XML标签没有被预定义。需要自行定义标签 XML被设计为具有自我描述性。 XML树结构 XML文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。 <?xml version="1.0" encoding="utf-8"?> <note> <to>George</to> <from>John

weixin_43216479的博客 184

xml编程基础试卷_新用户的XML基础

XML代表可扩展标记语言, 标记位是关键。 您可以创建内容并用定界标记对其进行标记,使每个单词,短语或数据块成为可识别的可排序信息。 您创建的文件或文档实例由元素(标签)和内容组成,当从打印输出中读取甚至进行电子处理时,这些元素有助于很好地理解文档。 元素的描述性越强,可以识别的文档部分就越多。 从标记的早期到今天,标记内容的一个优点是,如果计算机系统丢失,仍可以从其标记中了解打印的数据 。 ...

cuyi7076的博客 441

XML基础入门

1.概念 1.概念:XML(extensible markup language)可扩展标记语言 可扩展:标签都是自己定义的 作用: 存储数据: 1.配置文件 2.在网络中传输 xml与html的区别: xml的标签都是自定义的,html标签都是预定义的 xml的作用是存储数据,html的作用是展示数据 ...

qq_36450449的博客 369

XML 基础

文章目录一、XML文档规则1、文档声明2、标签(元素)定义3、标签属性4、xml注释5、实体与CDATA标记6、命名空间二、XPath1、XPath节点2、基本概念3、基础语法4、运算符和函数三、XML约束1、DTD简介2、 schema(xsd)简介四、XML的解析1、JAXP2、SAX解析XML3、Dom4j解析XML xml(Extensive Markup Language 可扩展标记语言...

qq_35976650的博客 1515
上一篇: XML基础(上)
下一篇: linux 通过设置配置文件修改mysql的默认编码
Wang_AI
博客等级 码龄12年 988粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值