日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

XML入门

發布時間:2023/12/10 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XML入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 XML入門

? 1.1 引入

? ? ?HTML:負責網頁的結構???????

? ? CSS:負責網頁的樣式(美觀)

? ? ?Javascript:負責在瀏覽器端與用戶進行交互。

? 負責靜態的網頁制作的語言

???????????????????????????

? HTML語言特點:

? ? ? ? ? ? ? ? ? 1)由標簽組成。 <title> <p> <hr/> <br/>

? ? ? ? ? ? ? ? ? ?2)語法結構松散的??? <p></p>?? <p>?<P>

? ? ? ? ? ? ? ? ? ? ? ? ? ?大小寫不區分

? ? ? ? ? ? ? ? ? ? ? ? ? ?結束標簽和開始標簽不一定匹配

????????????????????????????????????

????????????????????????????????????

<html>

???????? <head>

?????????????????? <title>this is title</title>

???????? </head>

???????? <body>

?????????????????? <p>html標簽</p>

?????????????????? <P>html標簽</P>

?????????????????? <abc>abc標簽</abc>? 自定義標簽

???????? </body>

</html>

?

這種自定義標簽可以把他們叫做xml標簽

??????????????????

?1.2HTML和XML的區別?

?HTML????????????????????????????????????? XML???

名稱:?????? HyperText Markup Languae(超文本標記語言)??? Extend Markup Languge(可擴展標簽語言)

標簽:???? 標簽是w3c組成指定,固定的,約100來個???????? 標簽由開發者自己制定的(要按照一定的語法定義)

作用: ?????負責網頁的結構??????????????????????????????

1)描述帶關系的數據(作為軟件的配置文件): 包 含與被包含的關系

? ?properties文件: key-value

?name=eric

?password=123456

? <user>

? <name>eric</name>

<password>123456</password>

? </user>

?tomcat

2)作為數據的載體(存儲數據,小型的“數據庫”)

???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

?

2 XML作用

????????????? 2.1 描述帶關系的數據(軟件的配置文件

??????????????????????????? web服務器(PC):

??????????????????????????? 學生管理系統 -> 添加學生功能 -> 添加學生頁面 -> name=eric&email=eric@qq.com?

???????????????????????????????????? 前提:網絡(IP地址: oracle:255.43.12.54? 端口:1521 )

?

???????????????????????????????????? java代碼:使用ip(255.43.12.54)地址和端口(1521),連接oracle數據庫,保存學生數據。

?

???????????????????????????????????? 把ip地址端口配置到xml文件:

??????????????????????????????????????????????????????? host.xml

???????????????????????????????????????????????????????????????? <host>

?????????????????????????????????????????????????????????????????????????? <ip>255.43.12.55</ip>

?????????????????????????????????????????????????????????????????????????? <port>1521</port>

???????????????????????????????????????????????????????????????? </host>

?

??????????????????????????? 數據庫服務器(PC):

??????????????????????????????????????????????????????? 主服務器(255.43.12.54):Oracle數據庫軟件(負載)

??????????????????????????????????????????????????????? 副服務器(255.43.12.55):Oracle數據庫軟件

????????????? 2.2 數據的載體(小型的“數據庫”)

??????????????????????????? 教師管理系統:? 姓名?? 工齡+1? 郵箱

?

??????????????????????????? 發教師數據給財務管理系統:

?????????????????????????????????????????????? Stringteacher =??? name=張三&email=zhangsan@qq.com&workage=2? 字符串

???????????????????????????????????????????????????????????????? (問題: 1)不好解析 2)不是規范)

?

???????????????????????????????????? ???????? teacher.xml

??????????????????????????????????????????????????????? <teacher>????????

?????????????????????????????????????????????????????????????????????????? <name>張三</name>

?????????????????????????????????????????????????????????????????????????? <email>zhangsan@qq.com</email>

?????????????????????????????????????????????????????????????????????????? <workage>2</workage>

??????????????????????????????????????????????????????? </teacher>

?????????????????????????????????????????????? 這種一種規范

?

??????????????????????????? 財務管理系統:??

??????????????????????????????????????????????????????? 姓名?? 工齡+1? 郵箱

?????????????????????????????????????????????? 發獎金:??統計獎金。?? 工齡
?????????????????????????????????????????????? 發郵件功能:

???????????????????????????????????????????????????????????????? 郵箱?? 姓名??金額

?

??????????????????????????? 方案一:在財務管理系統中維護了一套教師信息。

?????????????????????????????????????????????? 每年: 工齡增加? 維護了兩個系統的信息。

?

??????????????????????????? 方案二:教師信息只在教學管理系統中維護。

3 XML語法

?????????????????? xml文件以xml后綴名結尾。

?????????????????? xml文件需要使用xml解析器去解析。瀏覽器內置了xml解析器。

????????????? 3.1 標簽

??????????????????????????? 語法: <student></student>?開始標簽? 標簽體內容? 結束標簽

???????????????????????????????????? 1)<student/> 或 <student></student>空標簽。沒有標簽體內容

???????????????????????????????????? 2)xml標簽名稱區分大小寫。

???????????????????????????????????? 3)xml標簽一定要正確配對。

???????????????????????????????????? 4)xml標簽名中間不能使用空格

???????????????????????????????????? 5)xml標簽名不能以數字開頭

??????????????????????????? ???????? 6)注意:在一個xml文檔中,有且僅有一個根標簽

????????????? 3.2 屬性

??????????????????????????? 語法:<Student name="eric">student</Student>

??????????????????????????? 注意:

?????????????????????????????????????????????? 1)屬性值必須以引號包含,不能省略,也不能單雙引號混用!!!

?????????????????????????????????????????????? 2)一個標簽內可以有多個屬性,但不能出現重復的屬性名!!!

????????????? 3.3 注釋

?????????????????????????????????????????????? 語言: <!--? xml注釋 -->

?

?????????????????? 練習:

???????????????????????????????????? 通訊錄系統

???????????????????????????????????? 聯系人數據:編號(唯一的) 姓名?? 年齡?? 電話郵箱? QQ

?

???????????????????????????????????? ?要求:

???????????????????????????????????? contact.xml

?????????????????????????????????????????????? 1)設計一個xml文件,用于存儲聯系人數據

?????????????????????????????????????????????? 2)這個xml文件可以多個聯系人。

????????????? 3.4 文檔聲明

?????????????????? 語法: <?xml version="1.0" encoding="utf-8"?>

?

?????????????????? version:xml的版本號

?????????????????? encoding:解析xml文件時查詢的碼表(解碼過程時查詢的碼表)

?

?????????????????? 注意:

???????????????????????????????????? 1)如果在ecplise工具中開發xml文件,保存xml文件時自動按照文檔聲明的encoding來保存文? ???????????????????????????????????? 件。

???????????????????????????????????? 2)如果用記事本工具修改xml文件,注意保存xml文件按照文檔聲明的encoding的碼表來保存。

?

????????????? 3.5 轉義字符

?????????????????? 在xml中內置了一些特殊字符,這些特殊字符不能直接被瀏覽器原樣輸出。如果希望把這些特殊字符按照原樣輸出到瀏覽器,對這些特殊字符進行轉義。轉義之后的字符就叫轉義字節。

?

??????????????????????????? ??????? 特殊字符? 轉義字符

???????????????????????????????????? ?<????????&lt;

???????????????????????????????????? ?>????????&gt;

???????????????????????????????????? ?"????????&quot;

???????????????????????????????????? &???????? &amp;

???????????????????????????????????? 空格???? ?&nsbp;

????????????????????????????????????

????????????? 3.6CDATA塊

?????????????????? 作用:可以讓一些需要進行包含特殊字符的內容統一進行原樣輸出。

?

????????????? 3.7 處理指令

??????????????????????????? 作用:告訴xml解析如果解析xml文檔

???????????????????????????

??????????????????????????? 案例:<?xml-stylesheet type="text/css"href="1.css"?> 告訴xml解析該xml文檔引用了哪個css文件

?

???????????????????????????????????? 需要提前xml內容可以使用xml-stylesheet指令指令

????????????????????????????????????

????????

4 XML解析?

????????????? 4.1 引入

?????????????????? xml文件除了給開發者看,更多的情況使用程序讀取xml文件的內容。這叫做xml解析

????????????? 4.2 XML解析方式(原理不同)

??????????????????????????? DOM解析

??????????????????????????? SAX解析

????????????? 4.3 XML解析工具

???????????????????????????????????? DOM解析原理:

??????????????????????????????????????????????????????? 1)JAXP (oracle-Sun公司官方)

??????????????????????????????????????????????????????? 2)JDOM工具(非官方)

?????????????????????????????????????????????? ???????? 3Dom4J工具(非官方)

???????????????????????????????????????????????????????????????? 三大框架(默認讀取xml的工具就是Dom4j

??????????????????????????????????????????????????????? .......

?

???????????????????????????????????? SAX解析原理:

?????????????????????????????????????????????? ???????? 1Sax解析工具(oracle-sun公司官方)

?

????????????? 4.4 什么是DOM解析

??????????????????????????? DOM解析原理:xml解析器一次性把整個xml文檔加載進內存,然后在內存中構建一顆Document的對象樹,通過Document對象,得到樹上的節點對象,通過節點對象訪問(操作)到xml文檔的內容。

????????????? 4.5Dom4j工具

??????????????????????????? 非官方,不在jdk中。

?

??????????????????????????? 使用步驟:

???????????????????????????????????? 1)導入dom4j的核心包。 dom4j-1.6.1.jar

???????????????????????????????????? 2)編寫Dom4j讀取xml文件代碼

????????????????????????????????????

public static void main(String[] args) {

?????? try {

?????????? //1.創建一個xml解析器對象

?????????? SAXReader reader = new SAXReader();

?????????? //2.讀取xml文檔,返回Document對象

?????????? Document doc = reader.read(new File("./src/contact.xml"));

??????????

?????????? System.out.println(doc);

?????? } catch (DocumentException e) {

?????????? e.printStackTrace();

?????????? throw new RuntimeException(e);

?????? }

??????

??? }

?

????????????? 4.6Domj4讀取xml文件

???????????????????????????????????? 節點:

?????????????????????????????????????????????? Iterator? Element.nodeIterator();? //獲取當前標簽節點下的所有子節點

?

???????????????????????????????????? 標簽:

?????????????????????????????????????????????? ? Element?Document.getRootElement();? //獲取xml文檔的根標簽?????????????

??????????????????????????? ?????????????????? ?Element??ELement.element("標簽名") //指定名稱的第一個子標簽

?????????????????????????????????????????????? ??Iterator<Element>Element.elementIterator("標簽名");// 指定名稱的所有子標簽

??????????????????????????????????????????????????????? List<Element> Element.elements(); //獲取所有子標簽

???????????????????????????????????????????????????????

?????????????????? ?????????????????? 屬性:

?????????????????????????????????????????????? String? ?Element.attributeValue("屬性名") //獲取指定名稱的屬性值

?????????????????????????????????????????????? ?Attribute???Element.attribute("屬性名");//獲取指定名稱的屬性對象?????

???????????????????????????????????????????????????????????????? Attribute.getName()? //獲取屬性名稱

???????????????????????????????????????????????????????????????? Attibute.getValue()? //獲取屬性值

??????????????????????????????????????????????????????? List<Attribute>???????? Element.attributes();? //獲取所有屬性對象

??????????????????????????????????????????????????????? Iterator<Attribute>????????? Element.attibuteIterator(); //獲取所有屬性對象

?

???????????????????????????????????? 文本:

???????????????????????????????????????????????????????????????? Element.getText();? //獲取當前標簽的文本

???????????????????????????????????????????????????????????????? Element.elementText("標簽名") //獲取當前標簽的指定名稱的子標簽的文本內容


?

轉載于:https://www.cnblogs.com/Dylansuns/p/6498607.html

總結

以上是生活随笔為你收集整理的XML入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。