设为首页 收藏本站
查看: 1240|回复: 0

[经验分享] XML与SQL SERVER2005 (一)

[复制链接]

尚未签到

发表于 2016-11-11 10:06:32 | 显示全部楼层 |阅读模式
------------------------------------------------------------------------
-- Author : HappyFlyStone
-- Date : 2009-07-30
-- Version: Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86)
-- Apr 14 2006 01:12:25
-- Copyright (c) 1988-2005 Microsoft Corporation
-- Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
--
--本文探讨 SQL Server 2005 中内置的 XML 支持.
-- 第一篇旨在对XML进行一个介绍。
------------------------------------------------------------------------



XML,或称为可扩展标记语言(Extensible Markup Language),是一种您可以用来创建自己的标记的标记语言。它由万维网协会(W3C)创建,用来克服 HTML(即超文本标记语言(Hypertext Markup Language),它是所有网页的基础)的局限。和 HTML 一样,XML 基于 SGML 标准通用标记语言(Standard Generalized Markup Language)。尽管 SGML 已在出版业使用了数十年,但其理解方面的复杂性使许多本打算使用它的人望而却步(SGML 也代表“听起来很棒,但或许以后会用(Sounds great, maybe later)”)。

简单的来区别一下HTML XML



l HTML 被设计用来显示数据。
l XML 被设计用来传输和存储数据。



什么是 XML?





  • XML 指可扩展标记语言(EXtensible Markup Language

  • XML 是一种标记语言,很类似 HTML

  • XML 的设计宗旨是传输数据,而非显示数据

  • XML 标签没有被预定义。您需要自行定义标签

  • XML 被设计为具有自我描述性

  • XML W3C 的推荐标准



应该说XML仅是类似于HTML ,因为设计的目的不一样,那么它也不是对HTML的取代。对于XML我们关心的是数据。因为它是结构化、存储及传输数据的,所以本身没有什么行为的。如果说XML 是为 Web 设计的,那么现XML能耐不亚于当时的基石HTML.


XML的描述术语

标记、元素、属性




l 标记 是以<></>包括起来的文本,分为开始标记(<>)、结束标记(</>)
l 元素 是位于开始和结束标记之间的文本。又分为根元素和子元素,一般最外面的标记标记的方便,子元素就是除了根元素外的所有元素了。
l 属性 是在开始标记中标记的名称值文本。




搞个例子来说明一下撤。

<address>
<name> flystone </name>
<street> 1401 Main Street </street>
<city state="NC">Anytown</city>
<postal-code> 210000 </postal-code>
</address>
所有<> </> 包括括号内的文本就是标识了。
<adderss>
-> 根元素定义开始,每一个XML必须包含根元素。


<name> flystone </name>
<street> 1401 Main Street </street>
<city state="NC">Anytown</city>
<postal-code> 210000 </postal-code>
->全是子元素
state="NC"
-> 这就是属性啦
</address>
-> 根元素定义结束
最后说一下XML的声明:
<?xml version="1.0" encoding="ISO-8859-1"?>
它定义了XML文档的版本及使用的编码。

注明:关于XML的书写格式、如何正确嵌套、属性一、实体及命名规则和标签的语法可到相应的网站自己看看。


XML的验证


使用DTD(文档类型定义)。那么遵守DTD的“形式良好”XML文档才是合法。简单的看一个定义:
<!DOCTYPE address [
<!ELEMENT address (name, street, city, postal-code)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT postal-code (#PCDATA)>

<!ATTLIST city state (NC|NM) "NC" >
]>

接着可以在XML中声明是对外部 DTD 文件的引用:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE address SYSTEM "ex.dtd">

<address>
<name> flystone </name>
<street> 1401 Main Street </street>
<city state="NC">Anytown</city>
<postal-code> 210000 </postal-code>
</address>
或是这样:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE address [
<!ELEMENT address (name, street, city, postal-code)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT postal-code (#PCDATA)>

<!ATTLIST city state (NC|NM) "NC" >
]>
<address>
<name> flystone </name>
<street> 1401 Main Street </street>
<city state="NC">Anytown</city>
<postal-code> 210000 </postal-code>
</address>

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




下面整理XPath


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-298799-1-1.html 上篇帖子: sql server2000 时间操作 下篇帖子: 关于SQL 2000 sa账户无法登陆的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表