XML入门一

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: XML入门一

Xml基础01

概念:

可扩展的标记语言,是以简单文本格式存储数据的方式。可用于序列化反序列化(序列化是通过将对象转换为字节流,从而存储对象或将对象传输到内存,数据库或文件的过程。主要用途是保存对象的状态,包括对象的数据,以便能够在需要是重建对象。反向过程称为 反序列化。)

xml的元素 - element:

由一对尖括号和尖括号斜杠共同组成一个最基本的元素。例如 <> </>,在内部是xml的标签标记。尖括号的中间是内容。

如 : \西游记\

​ \

​ \吴承恩\

标签之间可以有包含的关系,互相嵌套的关系(不过不建议使用,代码过于复杂不便于阅读)

xml的元素和属性

属性: \

​ \

元素和属性的区别:

同是存储数据的方式

区别不大

元素不能进行复杂对象的描述

xml的声明

声明文件格式,版本,编解码。

<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="GBK" ?>

xml的注释

注释符号

<!--           -->

xml的结构

Xml提供了一种结构化的组织数据的方式,不同于关系数据库。

Xml数据是分层组织的,有点类似windows explorer中的文件夹和文件。

每一个文档必须有一个根元素,其中包含所有的元素和文本数据。(即必须要有一个根的标签元素,其他的标签元素都被它包含)

<?xml version="1.0"?>
<books>
    <book></book>
</books>
<!--这是合法的->

xml的命名空间

即为xml命名一个名字。

例如下表:

<?xml version="1.0"?>
<books xmlns:myNS="123123">
    <book></book>
</books>

xml的规则

1.必须有声明语句

​ \<? xml version="1.0" ?>

2.有且只有1个根元素

3.每一个元素都有闭标记

4.没有有重叠元素—所有的子元素必须完全嵌套在父元素内

5.所有的属性必须放在引号内

DTD文档定义类型

不允许规定元素和属性的数据类型(对xml文件的规定约束)

schema

常用的XSD XML Schema Deinition language

在.net中也称为XML架构,可以规定元素和属性的数据结构,以.xsd文件方式存储

命名空间:

http://www.w3.org/2001/XMLSchema 根元素: \\

<?xml version="1.0"encoding="utf-8"?>
<xs:schema id="SchemaBooks"
    targetNamespace="http://tempuri.org/SchemaBooks.xsd"
    elementFormDefault="qualified"
    xmins="http://tempuri.org/SchemaBooks.xsd"
    xmlns:mstns="http://tempuri.org/SchemaBooks.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Books">
        <xs:complexType>
            <xs:choice maxOccurs="unbounded">
                <xs:element name="Book">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="title"type="xs:string"/>
                            <xs;element name="price"type="xs:decimal"/>
                        </xs;sequence>
                    </xs:complexType>
                </xs:element>
            </xs;choice>
        </xs:complexType>
    </xs:element>
</xs:schema>
<!--schema    文档根路径(元素)
element    结点
choice    复杂结点
maxOccurs    节点数量限制
unbounded    是否有限制
complexType    指定该标签下的元素类型->
xml与xsd关联

在vs中,可以通过

System.Data.DataSet ds = new System.Data.DataSet();
ds.ReadXml("");
ds.WriteXmlSchema("");
//可以将xml文件读取并转换为xsd文件
xsd的几个常见默认值:

xmlns:xs=http://www.w3.org/2001/XMLSchema

schema规范中定义了一些基本的数据类型的命名空间

targetNamespace=http://tempuri.org/SchemaBookStore.xsd

该 schema 的命名空间的 URI 引用。

xmlns=http://tempuri.org/SchemaBookStore.xsd

本XSD命名空间

xmlns:mstns=http://tempuri.org/SchemaBookStore.xsd

本XSD命名空间,前缀名称为mstns

文档对象模型

Document Object Model, DOM

基于对象(基于树)(适合于对象的提取等)

SAX

Simple API for XML

基于流、推模型(性能更好,在读取解析数据时更适合)

DOM 文档对象模型主要类

XmlNode:表示 XML 文档中的单个节点。

XmlDocument:表示 XML 文档,继承自XmlNode 。

XmlElement:表示一个元素。

XmlAttribute表示一个属性

XmlText:表示元素文本内容。

XmlComment表示 XML 注释的内容。

XmlNodeList表示节点集合。

XmlNode.ChildNodes - 返回包含节点所有子级的 XmlNodeList

XmlNode.SelectNodes - 返回包含匹配 XPath 查询的节点集合的 XmlNodeList

XmlDocument的使用

定义**XmlDocument**

XmlDocument document = new XmlDocument();

加载**XMl**文件

document.Load(“XML文件”);

命名空间

using System.Xml;

常用属性:

FirstChild获取节点的第一个子级。 (继承自 XmlNode。)

DocumentElement 获取文档的根 XmlElement。

常用方法

Load()

Save()

获取根节点

document.FirstChild

获取根元素

document.DocumentElement

关于XmlNode的几个重要属性

FirstChild

LastChild

HasChildNodes

ParentNode

NextSibling

使用DOM创建xml文件

创建节点:

XmlDocument**方法**

CreateNode 节点

CreateElement 元素

CreateAttribute 属性

CreateTextNode 内容

CreateComment 注释

插入节点:

XmlNode**方法**

AppendChild 最后添加

InsertAfter 前添加

InsertBefore 后添加

删除节点:

XmlNode方法

RemoveAll 删除全

RemoveChild 删除某一个

RemoveAttribute 删除某一个属性

目录
相关文章
|
6月前
|
XML Java 数据格式
一.Xml建模之入门
一.Xml建模之入门
38 1
|
8月前
|
XML 存储 数据处理
Python XML处理初级篇:入门lxml库
在数据处理过程中,XML(可扩展标记语言)常常被用作数据存储和传输。Python的lxml库是一个强大的库,用于解析XML和HTML文档。本文将向您介绍如何使用lxml库来解析和处理XML文档。
|
4月前
|
XML Java 数据库连接
Spring Data JPA入门简解与XML配置实现
Spring Data JPA入门简解与XML配置实现
102 0
|
6月前
|
XML 设计模式 数据格式
XML基础入门:关于XML建模
XML基础入门:关于XML建模
20 0
|
6月前
|
XML 安全 数据格式
XML基础入门:关于XML解析
XML基础入门:关于XML解析
36 0
|
6月前
|
XML 数据格式
XML基础入门:关于DTD知识点
XML基础入门:关于DTD知识点
36 0
|
6月前
|
XML 存储 缓存
XML入门三
XML入门三
43 0
|
6月前
|
XML 数据格式
XML入门二
XML入门二
43 0
|
6月前
|
XML 数据管理 数据处理
XML入门,之dtd属性与元素详解
XML入门,之dtd属性与元素详解
27 1
|
7月前
|
XML Java 数据库
Spring入门-IOC和XML配置 3
Spring入门-IOC和XML配置
37 0

相关课程

更多