ASP.NET 2.0 XML 系列(1): XML介绍

简介:
.1 简介

XML的一个强大之处在于它的强大可扩展性。XML没有定义自己的标签,你可以创建你自己的标签,形成你自己的词汇表。XML关注的是内容,而不是表现,你创建的标签主要用来阻止数据而不是表现数据。
(a).
<H1>ASP.NET XML 系列</H1>
<
p>Author: Jack Wang</p>

(b).
<articles>
<
title>Asp.net xml系列</title>
<
author>Jack Wang</author>
</
articles>

很明显第二种更容易为人类理解

1.2 基本术语:

格式良好
如果文档符合由XML规范定义的格式良好的规定,那么该文档就被认为是格式良好的,规定如下: 
文档包含一个或多个元素 
文档只有一个根元素(也就是文档元素) 
元素的结束标签名称与开始标签的名称一致 
在一个元素中属性只能出现一次 
属性值不能包含左尖括号(<) 
由开始和结束标签界定的元素必须互相正确地嵌套 
有效性
有效之前,必须是格式良好的,为了达到有效,XML文档必须经过验证。可以通过DTD(Document Type Definition)或者XML模式(XML Schema Definition)来对文档 进行验证。

1.3 XML文档的组成部分

XML是一种用来描述数据并构建数据的语言,XML数据包含在文档中,这个文档可以是一个文本、一个数据流或者任何其他能够保存文本的存储介质,现实的或者虚拟的。一个正确的XML文档以如下XML申明开始,制定文档内容将要符合的XML版本
<?xml version="1.0" >
 XML还可以包含编码属性,用来定义文档的字符类型。
<?xml version="1.0" encoding="utf-8"?>
如果文档由UTF-8或者UTF-16字符组成,那么编码属性是可选的,因为XML解析器可以解析文档的前5个字符'<?xml'. XML声明其实是XML处理指令的特殊格式,其中包含了XML处理器的指令。处理指令一般在<?和?>之间。

  1. 元素

    元素名称必须符合XML规范中预先描述的一套规则,你可以在http://www.w3c.org/TR/REC-xml上阅读。规范着重强调元素名称可以由字母或者下划线开头,后跟字母、数字、句点、连字符和下划线。元素名称中不允许空格。元素是XML文档的构件,可以包含数据、其它元素或者同时包含,并且总是以开始和结束标签分界。XML没有预定义元素。 <?xmlversion="1.0" encoding="utf-8"?>

    < articles >
    < article >
    < title > Asp.net xml系列 </ title >
    < author > Jack Wang </ author >
    < publishdate > 2008-03-15 </ publishdate >
    </ article >
    < article >
    < title > C# xml系列 </ title >
    < author > Jack Wang </ author >
    < publishdate > 2009-03-15 </ publishdate >
    </ article >
    < article >
    < title > xml系列 </ title >
    < author > Jack Wang </ author >
    < publishdate />
    </ article >
    </ articles >


    <
    articles>
    是文档的元素,<article><articles>的子元素<title><author><publishdate><article>的子元素,<publishdate/>空元素可以这样写(既没有数据的元素)。

  2. 属性
    <title maintitle="ASP.NET">Asp.net xml系列</titlemaintitle就是属性。

  3. CDATA、PCDATA和实体引用
    出现在<![CDATA[和 ]]>标签之间的数据就是CDATA,而其他的数据就是PCDATA(Parsed character Data). XML解析器会忽略CDATA标签中的内容。
    <price><![CDATA[0<bookprice<1000]]></price>

    另一种表达方法是把它们替换成实体引用

  4. 命名空间 
    < article >
    < title > xml系列 </ title >
    < author >
    < title > Mr </ title >
    < nickName > Jack </ nickName ></ author >
    < publishdate />
    < price > <![CDATA[ 0<bookprice<1000 ]]> </ price >
    </ article >

我们可以看到上面两个title表示不同的语义,但是无法区分,同样这种问题也会出现在多个文档组织在一起时。所以我们需要加上命名空间,作用就是和C#里的一样。
声明命名空间
Xmlns—指定值作为xml的命名空间,他是申明命名空间所必需的,并且可以附加在任何 XML元素上。
Prefix---指定一个命名空间的前缀,如果使用了该前缀,那么文档中任何使用该前缀(prefix:element)的任何元素被认为是位于申明的命名空间范围之内.
namespaceURI—指定命名空间唯一标识符。不必指向一个实际的WEB资源。

<? xml version="1.0" encoding="utf-8" ?>
< articles  xmlns ="http://cnblogsfans.cnblogs.com/Asp.net_xml/article" >
< article >
< title  maintitle ="ASP.NET"   > Asp.net xml系列 </ title >
< author > Jack Wang </ author >
< publishdate > 2008-03-15 </ publishdate >
</ article >
< article >
< title > C# xml系列 </ title >
< author > Jack Wang </ author >
< publishdate > 2009-03-15 </ publishdate >
</ article >
< article >
< title > xml系列 </ title >
< author  xmlns:mytitle ="http://cnblogsfans.cnblogs.com/Asp.net_xml/article/author" >
< mytitle:title > Mr </ mytitle:title >
< nickName > Jack </ nickName >
</ author >
< publishdate />
< price > <![CDATA[ 0<bookprice<1000 ]]> </ price >
</ article >
</ articles >

本文转自敏捷的水博客园博客,原文链接 http://www.cnblogs.com/cnblogsfans/archive/2008/03/15/1107011.html如需转载请自行联系原作者

王德水
相关文章
|
XML 存储 C#
C#三十 Ado.net和XML
C#三十 Ado.net和XML
90 0
|
XML 存储 JSON
使用自定义XML配置文件在.NET桌面程序中保存设置
本文将详细介绍如何在.NET桌面程序中使用自定义的XML配置文件来保存和读取设置。除了XML之外,我们还将探讨其他常见的配置文件格式,如JSON、INI和YAML,以及它们的优缺点和相关的NuGet类库。最后,我们将重点介绍我们为何选择XML作为配置文件格式,并展示一个实用的示例。
210 0
|
XML 开发框架 .NET
C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService
## 第二部分:ADO.NET、XML、HTTP、AJAX、WebService #### 1. .NET 和 C# 有什么区别? .NET(通用语言运行时): ```c# 定义:.NET 是一个软件开发框架,提供了一个通用的运行时环境,用于在不同的编程语言中执行代码。 作用:它为多语言支持提供了一个统一的平台,允许不同的语言共享类库和其他资源。.NET 包括 Common Language Runtime (CLR)、基础类库(BCL)和其他工具。 ``` C#(C Sharp): ```c# 定义: C# 是一种由微软设计的面向对象的编程语言,专门为.NET 平台开发而创建。 作
537 2
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
169 0
|
XML 数据采集 JavaScript
基于.Net开源Html解析器,此外还支持SVG、XML等格式
基于.Net开源Html解析器,此外还支持SVG、XML等格式
125 0
|
XML JSON 数据格式
.NET中XML序列化和反序列化常用类和用来控制XML序列化的属性总结(XmlSerializer,XmlTypeAttribute,XmlElementAttribute,XmlAttributeAttribute,XmlArrayAttribute...)
.NET中XML序列化和反序列化常用类和用来控制XML序列化的属性总结(XmlSerializer,XmlTypeAttribute,XmlElementAttribute,XmlAttributeAttribute,XmlArrayAttribute...)
362 0
|
XML 开发框架 .NET
【原创】ASP.NET WebApi接收xml文件 xml序列化
如何新建WebApi项目就不用我介绍了吧。 直接进入正题。 首先,在.net平台不论要接收什么,肯定是从Request里获取。 大家肯定对普通的参数获取非常熟悉了,下面就介绍一下如何从Request获取文件流. System.IO.Stream sm =Request.Content.ReadAsStreamAsync().Result 这个方法返回的是一个System.IO.Stream类型,如果是单纯想获得文件,到这一步你就可以把它保存到本地了。
9451 0
|
XML .NET 数据格式
.NET 对 XML 进行创建,增加,删除,修改操作整理
前言:    最近做了一个项目,程序A在一个服务器程序B在另一台服务器,然而主程序A需要访问程序B的图片集文件夹下载到本服务器上,为了防止多次对Web Services进行调用,在主程序A中创建一个XML文件用于记录图片集中的某张图片是否下载过,如果下载就不需调用,没下载就需要调用服务。
1159 0
|
.NET 开发框架