導航:首頁 > 編程語言 > xml編程詳細講解

xml編程詳細講解

發布時間:2022-04-23 08:35:54

⑴ xml究竟是什麼東西。。有什麼用啊。。

XML是一種可擴展標記語言,標准通用標記語言的子集,是一種用於標記電子文件使其具有結構性的標記語言。在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等。它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。 它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立於應用程序或供應商的結構化數據。

以下我將從幾個方面帶你了解XML:

(1)XML的作用:

1、豐富文件(Rich Documents)-自定文件描述並使其更豐富; 2、屬於文件為主的XML技術應用;

3、標記是用來定義一塊數據應該如何呈現;

4、解釋數據(Metadata)-描述其它文件或在線信息;

5、屬於數據為主的XML技術應用;

6、標記是用來說明一塊資料的意義;

7、組態檔案(Configuration Files)-描述軟體的組態參數。

(2)XML的文檔結構:

每個XML文檔都由XML序言開始,在前面的代碼中的第一行便是XML序言。這一行代碼會告訴解析器和瀏覽器,這個文件應該按照前面討論過的XML規則進行解析。第二行代碼則是文檔元素(documentelement),它是文件中最外面的標簽是起始標簽和結束標簽之間的內容)。所有其他的標簽必須包含在這個標簽之內來組成一個有效的XML文件。XML文件的第二行並不一定要包含文檔元素;如果有注釋或者其他內容,文檔元素可以遲些出現。 頁面再往下的一些地方,可以發現標簽里有一些特殊的語法。雖然很像XML序言,但實際上是一種稱為處理指令(processinginstruction)的不同類型的語法。處理指令(以下簡稱PI)的目的是為了給處理頁面的程序(例如XML解析器)提供額外的信息。PI通常情況下是沒有固定格式的,唯一的要求是緊隨第一個問號必須至少有一個字母。在此之後,PI可以包含除了小於號和大於號之外的任何字元串序列。

(3)XML的優點:

1.能使用預先定義標記。

2.定義數據的層次。

3.篩選我們只想得到的那部分數據。

4.真正做到國際化。

5.真正實現數據交互

6.可重用。

⑵ xml編程初學適合什麼樣的軟體該怎麼開始學習如題 謝謝了

編寫XML根本不需要軟體,記事本就可以了....真正要知道的只有幾個要點: 1,文檔結構 。XML文檔的結構有個頭部說明,可以指定編碼和校驗規則;後面么就是用<></>寫一堆樹節點了。學習途徑:找幾個現成的xml文檔看看就知道了。 2,文檔規則 。XML的文檔結構和內容可以藉助工具按指定DTD或Schema來進行自動校驗或代碼提示(包括節點順序,可填充數據等等)。學習途徑:搜索關鍵字dtd,schema,xsd,推薦教材: http://www.w3school.com.cn/x.asp 3,到此就基本了解xml了,下面可以聯系用java來操作xml ,推薦類庫dom4j, http://www.dom4j.org ,按照官方範例或網上的博客寫幾個簡單的例子,重點是d拼裝和解析。到此就能滿足大多數的開發需要了。 4,進階。了解xpath ,xpath能幫助你快速讀寫xml,xmlspy這個工具自帶xpath查詢器,可以用來練習。dom4j也支持xpath,這時候可以在程序里應用。 4,接著進階。練習自己寫dtd或xsd,並用dom4j來驗證xml。這階段是利用xml來達到某些目的,如規定特定格式的配置文件便於編寫xml,一般是架構師的活了。

⑶ 什麼是網頁XML編程

一. 什麼是XML?
這往往是第一個問題,也往往在第一個問題上你就會搞不明白,因為大多的教材上這樣回答:
XML是Extensible Markup Language的簡寫,一種擴展性標識語言。 這是標準的定義。那麼什麼是標志語言,為什麼叫擴展性?已經讓人有些糊塗。我想我們這樣來理解會好一些:
對HTML你已經非常熟悉了吧,它就是一種標記語言,記得它的全稱嗎:"Hypertext Markup Language" 超文本標記語言。明白了?同時,HTML裡面有很多標簽,類似,等,都是在HTML 4.0里規范和定義,而XML里允許你自己創建這樣的標簽,所以叫做可擴展性。
這里有幾個容易混淆的概念要提醒大家:
1.XML並不是標記語言。它只是用來創造標記語言(比如HTML)的元語言。天,又糊塗了!不要緊,你只要知道這一點:XML和HTML是不一樣的,它的用處途比HTML廣泛得多,我們將在後面仔細介紹。
2.XML並不是HTML的替代產品。XML不是HTML的升級,它只是HTML的補充,為HTML擴展更多功能。我們仍將在較長的一段時間里繼續使用HTML。(但值得注意的是HTML的升級版本XHTML的確正在向適應XML靠攏。)
3.不能用XML來直接寫網頁。即便是包含了XML數據,依然要轉換成HTML格式才能在瀏覽器上顯示。
下面就是一段XML示例文檔(例1),用來表示本文的信息:
<myfile><br><br>
<title>XML Quick Start</title><br><br>
<author>ajie</author><br><br>
<email>[email protected]</email><br><br>
<date>20010115</date><br><br>
</myfile>
注意:
1.這段代碼僅僅是代碼,讓你初步感性認識一下XML,並不能實現什麼具體應用;
2.其中類似< title>,<author>的語句就是自己創建的標記(tags),它們和HTML標記不一樣,例如這里的<title>是文章標題的意思,HTML里的<title>是頁面標題。

二. XML是新概念嗎?
不是。XML來源於SGML,一種比HTML更早的標志語言標准。
關於SGML,我們來簡單了解一下,你只需要有個大致概念就可以。
SGML全稱是"Standard Generalized Markup Language"(通用標識語言標准)。看名稱就知道:它是標志語言的標准,也就是說所有標志語言都是依照SGML制定的,當然包括HTML。SGML的覆蓋面很廣,凡是有一定格式的文件都屬於SGML,比如報告,樂譜等等,HTML是SGML在網路上最常見的文件格式。因此,人們戲稱SGML是HTML的"媽媽"。
而XML就是SGML的簡化版,只不過省略了其中復雜和不常用的部分。和SGML一樣,XML也可以應用在金融,科研等各個領域,我們這里講的,只是XML在web方面的運用而已。
到這里,你應該有點明白了:XML是用來創建定義類似HTML的標記語言,然後再用這個標記語言來顯示信息。

三. 使用XML有什麼好處?
有了HTML,為什麼還需要用XML?
因為現在網路應用越來越廣泛,僅僅靠HTML單一文件類型來處理千變萬化的文檔和數據已經力不叢心,而且HTML本身語法十分不嚴密,嚴重影響網路信息傳送和共享。人們早已經開始探討用什麼方法來滿足網路上各種應用的需要。使用SGML是可以的,但SGML太龐大,編程復雜,於是最終選擇了"減肥"的SGML---XML作為下一代web運用的數據傳輸和交互的工具。
使用XML有什麼好處?來看w3c組織(XML標准制定者)的說明:
XML使得在網路上使用SGML語言更加"簡單和直接": 簡化了定義文件類型的過程,簡化了編程和處理SGML文件的過程,簡化了在Web上的傳送和共享。
1.XML可以廣泛的運用於web的任何地方;
2.XML可以滿足網路應用的需求;
3.使用XML將使編程更加簡單;
4.XML便於學習和創建;
5.XML代碼將清晰和便於閱讀理解;
還是抽象了些。讓我們在後面的實例教程中慢滿體會XML的強大優勢吧!

四. XML很難學嗎?
如果你有興趣學習XML,不禁會問:XML難嗎?學習XML需要什麼樣的基礎?
XML非常簡單,學習容易。如果你熟悉HTML,你會發現它的文檔和HTML非常相似,看同樣的示例文檔(例1):
<?xml version="1.0"?><br><br>
<myfile><br><br>
<title>XML Quick Start</title><br><br>
<author>ajie</author><br><br>
<email>[email protected]</email><br><br>
<date>20010115</date><br><br>
</myfile>
第一行是一個XML聲明,表示文檔遵循的是XML的1.0 版的規范。
第二行定義了文檔裡面的第一個元素(element),也稱為根元素: <myfile>。這個就類似HTML里的<HTML>開頭標記。注意,這個名稱是自己隨便定義的。
再下面定義了四個子元素:title,author,email,和date。分別說明文章的標題,作者,郵箱和日期。當然,你可以用中文來定義這些標簽,看上去更便於理解:
<?xml version="1.0" encoding="GB2312"?>
<文章>
<標題>XML輕松學習手冊</標題>
<作者>ajie</作者>
<信箱>[email protected]</信箱>
<日期>20010115</日期>
</文章>
這就是XML的文檔,任何掌握HTML的網友都可以直接寫出這樣簡單的XML文檔。
另外,學習XML還必須掌握一種頁面腳本語言,常見的就是javascript和VB script。因為XML數據是使用script實現HTML中調用和交互的。我們看一個最簡單的例子(例2):
1.將下面代碼存為myfile.htm
<html>
<head>
<script language="JavaScript" for="window" event="onload">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("myfile.xml");
nodes = xmlDoc.documentElement.childNodes;
title.innerText = nodesitem(0).text;
author.innerText = nodes.item(1).text;
email.innerText = nodes.item(2).text;
date.innerText = nodes.item(3).text;
</script>
<title>在HTML中調用XML數據</title>
</head>
<body bgcolor="#FFFFFF">
<b>標題: </b>
<span id="title"> </span>
<b>作者: </b>>
<span id="author"></span>
<b>信箱: </b>
<span id="email"></span>
<b>日期:</b>
<span id="date"></span>
</body><br><br>
</html><br><br>
2.將下面代碼存為myfile.xml
<?xml version="1.0" encoding="GB2312"?>
<myfile>
<title>XML輕松學習手冊</title>
<author>ajie</author>
<email>[email protected]</email>
<date>20010115</date>
</myfile>
3.將它們放在同一個目錄下,用IE5以上版本瀏覽器打開,可以看到效果。 學習並掌握一種script,你將真正了解到XML無比的強大的功能。

五. XML和HTML的區別
XML和HTML都來自於SGML,它們都含有標記,有著相似的語法,HTML和XML的最大區別在於:HTML是一個定型的標記語言,它用固有的標記來描述,顯示網頁內容。比如< H1>表示首行標題,有固定的尺寸。相對的,XML則沒有固定的標記,XML不能描述網頁具體的外觀,內容,它只是描述內容的數據形式和結構。
質的區別:網頁將數據和顯示混在一起,而XML則將數據和顯示分開來。
我們看上面的例子,在myfile.htm中,我們只關心頁面的顯示方式,我們可以設計不同的界面,用不同的方式來排版頁面,但數據是儲存在myfile.xml中,不需要任何改變。
(如果你是程序員,你會驚訝的發現,這與模塊化面向對象編程的思想極其相似!其實網頁何嘗不是一種程序呢?)
正是這種區別使得XML在網路應用和信息共享上方便,高效,可擴展。所以我們相信,XML做為一種先進的數據處理方法,將使網路跨越到一個新的境界。

六. XML的嚴格格式
吸取HTML鬆散格式帶來的經驗教訓,XML一開始就堅持實行"良好的格式"。
在XML文檔中:
1.所有的標記都必須要有一個相應的結束標記;
2.所有的XML標記都必須合理嵌套;
3.所有XML標記都區分大小寫;
4.所有標記的屬性必須用""括起來;
另外,XML標記必須遵循下面的命名規則:
1.名字中可以包含字母、數字以及其它字母;
2.名字不能以數字或"_" (下劃線) 開頭;
3.名字不能以字母 xml (或 XML 或 Xml ..) 開頭;
4.名字中不能包含空格。

在XML文檔中任何的差錯,都會得到同一個結果:網頁不能被顯示。各瀏覽器開發商已經達成協議,對XML實行嚴格而挑剔的解析,任何細小的錯誤都會被報告。你可以將上面的myfile.xml修改一下,比如將< email>改為< Email>,然後用IE5直接打開myfile.xml,會得到一個出錯信息頁面.

⑷ java中的xml解析

dom是解析xml的底層介面之一(另一種是sax)
而jdom和dom4j則是基於底層api的更高級封裝
dom是通用的,而jdom和dom4j則是面向java語言的
DOM 是用與平台和語言無關的方式表示 XML 文檔的官方 W3C 標准。DOM 是以層次結構組織的節點或信息片斷的集合。這個層次結構允許開發人員在樹中尋找特定信息。分析該結構通常需要載入整個文檔和構造層次結構,然後才能做任何工作。由於它是基於信息層次的,因而 DOM 被認為是基於樹或基於對象的。DOM 以及廣義的基於樹的處理具有幾個優點。首先,由於樹在內存中是持久的,因此可以修改它以便應用程序能對數據和結構作出更改。它還可以在任何時候在樹中上下導航,而不是像 SAX 那樣是一次性的處理。DOM 使用起來也要簡單得多。
XML的四種解析器(dom,sax,jdom,dom4j)原理及性能比較(轉自zsq)
1、DOM
DOM 是用與平台和語言無關的方式表示 XML 文檔的官方 W3C 標准。DOM 是以層次結構組織的節點或信息片斷的集合。這個層次結構允許開發人員在樹中尋找特定信息。分析該結構通常需要載入整個文檔和構造層次結構,然後才能做任何工作。由於它是基於信息層次的,因而 DOM 被認為是基於樹或基於對象的。DOM 以及廣義的基於樹的處理具有幾個優點。
首先,由於樹在內存中是持久的,因此可以修改它以便應用程序能對數據和結構作出更改。它還可以在任何時候在樹中上下導航,而不是像 SAX 那樣是一次性的處理。DOM 使用起來也要簡單得多。
另一方面,對於特別大的文檔,解析和載入整個文檔可能很慢且很耗資源,因此使用其他手段來處理這樣的數據會更好。這些基於事件的模型,比如 SAX。
2、SAX
這種處理的優點非常類似於流媒體的優點。分析能夠立即開始,而不是等待所有的數據被處理。而且,由於應用程序只是在讀取數據時檢查數據,因此不需要將數據存儲在內存中。這對於大型文檔來說是個巨大的優點。事實上,應用程序甚至不必解析整個文檔;它可以在某個條件得到滿足時停止解析。一般來說,SAX 還比它的替代者 DOM 快許多。
3、選擇 DOM 還是選擇 SAX ?
對於需要自己編寫代碼來處理 XML 文檔的開發人員來說,選擇 DOM 還是 SAX 解析模型是一個非常重要的設計決策。
DOM 採用建立樹形結構的方式訪問 XML 文檔,而 SAX 採用的事件模型。
DOM 解析器把 XML 文檔轉化為一個包含其內容的樹,並可以對樹進行遍歷。用 DOM 解析模型的優點是編程容易,開發人員只需要調用建樹的指令,然後利用navigation APIs訪問所需的樹節點來完成任務。可以很容易的添加和修改樹中的元素。然而由於使用 DOM 解析器的時候需要處理整個 XML 文檔,所以對性能和內存的要求比較高,尤其是遇到很大的 XML 文件的時候。由於它的遍歷能力,DOM 解析器常用於 XML 文檔需要頻繁的改變的服務中。
SAX 解析器採用了基於事件的模型,它在解析 XML 文檔的時候可以觸發一系列的事件,當發現給定的tag的時候,它可以激活一個回調方法,告訴該方法制定的標簽已經找到。SAX 對內存的要求通常會比較低,因為它讓開發人員自己來決定所要處理的tag。特別是當開發人員只需要處理文檔中所包含的部分數據時,SAX 這種擴展能力得到了更好的體現。但用 SAX 解析器的時候編碼工作會比較困難,而且很難同時訪問同一個文檔中的多處不同數據。
4、JDOM
JDOM的目的是成為 Java 特定文檔模型,它簡化與 XML 的交互並且比使用 DOM 實現更快。由於是第一個 Java 特定模型,JDOM 一直得到大力推廣和促進。正在考慮通過「Java 規范請求 JSR-102」將它最終用作「Java 標准擴展」。從 2000 年初就已經開始了 JDOM 開發。
JDOM 與 DOM 主要有兩方面不同。首先,JDOM 僅使用具體類而不使用介面。這在某些方面簡化了 API,但是也限制了靈活性。第二,API 大量使用了 Collections 類,簡化了那些已經熟悉這些類的 Java 開發者的使用。
JDOM 文檔聲明其目的是「使用 20%(或更少)的精力解決 80%(或更多)Java/XML 問題」(根據學習曲線假定為 20%)。JDOM 對於大多數 Java/XML 應用程序來說當然是有用的,並且大多數開發者發現 API 比 DOM 容易理解得多。JDOM 還包括對程序行為的相當廣泛檢查以防止用戶做任何在 XML 中無意義的事。然而,它仍需要您充分理解 XML 以便做一些超出基本的工作(或者甚至理解某些情況下的錯誤)。這也許是比學習 DOM 或 JDOM 介面都更有意義的工作。
JDOM 自身不包含解析器。它通常使用 SAX2 解析器來解析和驗證輸入 XML 文檔(盡管它還可以將以前構造的 DOM 表示作為輸入)。它包含一些轉換器以將 JDOM 表示輸出成 SAX2 事件流、DOM 模型或 XML 文本文檔。JDOM 是在 Apache 許可證變體下發布的開放源碼
5、DOM4J
雖然 DOM4J 代表了完全獨立的開發結果,但最初,它是 JDOM 的一種智能分支。它合並了許多超出基本 XML 文檔表示的功能,包括集成的 XPath 支持、XML Schema 支持以及用於大文檔或流化文檔的基於事件的處理。它還提供了構建文檔表示的選項,它通過 DOM4J API 和標准 DOM 介面具有並行訪問功能。從 2000 下半年開始,它就一直處於開發之中。
為支持所有這些功能,DOM4J 使用介面和抽象基本類方法。DOM4J 大量使用了 API 中的 Collections 類,但是在許多情況下,它還提供一些替代方法以允許更好的性能或更直接的編碼方法。直接好處是,雖然 DOM4J 付出了更復雜的 API 的代價,但是它提供了比 JDOM 大得多的靈活性。
在添加靈活性、XPath 集成和對大文檔處理的目標時,DOM4J 的目標與 JDOM 是一樣的:針對 Java 開發者的易用性和直觀操作。它還致力於成為比 JDOM 更完整的解決方案,實現在本質上處理所有 Java/XML 問題的目標。在完成該目標時,它比 JDOM 更少強調防止不正確的應用程序行為。
DOM4J 是一個非常非常優秀的Java XML API,具有性能優異、功能強大和極端易用使用的特點,同時它也是一個開放源代碼的軟體。如今你可以看到越來越多的 Java 軟體都在使用 DOM4J 來讀寫 XML,特別值得一提的是連 Sun 的 JAXM 也在用 DOM4J。
6、總述
JDOM 和 DOM 在性能測試時表現不佳,在測試 10M 文檔時內存溢出。在小文檔情況下還值得考慮使用 DOM 和 JDOM。雖然 JDOM 的開發者已經說明他們期望在正式發行版前專注性能問題,但是從性能觀點來看,它確實沒有值得推薦之處。另外,DOM 仍是一個非常好的選擇。DOM 實現廣泛應用於多種編程語言。它還是許多其它與 XML 相關的標準的基礎,因為它正式獲得 W3C 推薦(與基於非標準的 Java 模型相對),所以在某些類型的項目中可能也需要它(如在 javascript 中使用 DOM)。
SAX表現較好,這要依賴於它特定的解析方式。一個 SAX 檢測即將到來的XML流,但並沒有載入到內存(當然當XML流被讀入時,會有部分文檔暫時隱藏在內存中)。
無疑,DOM4J是最好的,目前許多開源項目中大量採用 DOM4J,例如大名鼎鼎的 Hibernate 也用 DOM4J 來讀取 XML 配置文件。如果不考慮可移植性,那就採用DOM4J吧!

⑸ XML 是什麼(通俗點,不要那麼專業化拜託)

XML其實就是描述數據並記錄數據的語言。它使用< >作為標記來解釋數據,所以和普通的txt數據文件比起來更清楚明白。它的標記描述方式類似於HTML,但和HTML相比,它的標記是自己定義的,然後數據和格式是分開的。所以XML叫做可擴展置標語言。

比如:
txt文件:
張三,001,男,軟體10

而XML文件如下:
<學生列表>
<學生>
<姓名>張三</姓名>
<學號>001</學號>
<性別>男</性別>
<班級>軟體10</班級>
</學生>
</學生列表>

是不是看起來清楚多了? 而由於XML的這種多層次的樹形結構(類似於硬碟中文件夾的層次結構),所以用編程語言處理起來非常容易。

⑹ XML語言是什麼,怎麼用

XML是Extensible Markup Language的簡寫,一種擴展性標識語言。

這是標準的定義。那麼什麼是標志語言,為什麼叫擴展性?已經讓

人有些糊塗。我想我們這樣來理解會好一些:

對HTML你已經非常熟悉了吧,它就是一種標記語言,記得它的全稱嗎:"Hypertext Markup Language" 超文本標記語言。明白了?同時,HTML裡面有很多標簽,類似,

等,都是在HTML4.0里規范和定義,而XML里允許你自己創建這樣的標簽,所以叫做可擴展性。

這里有幾個容易混淆的概念要提醒大家:

1.XML並不是標記語言。它只是用來創造標記語言(比如HTML)的元語言。天,又糊塗了!不要緊,你只要知道這一點:XML和HTML是不一樣的,它的用處途比HTML廣泛得多,我們將在後面仔細介紹。

2.XML並不是HTML的替代產品。XML不是HTML的升級,它只是HTML的補充,為HTML擴展更多功能。我們仍將在較長的一段時間里繼續使用HTML。(但值得注意的是HTML的升級版本XHTML的確正在向適應XML靠攏。)

3.不能用XML來直接寫網頁。即便是包含了XML數據,依然要轉換成HTML格式才能在瀏覽器上顯示。

下面就是一段XML示例文檔(例1),用來表示本文的信息:

ajie

[email protected]

20010115

注意:

1.這段代碼僅僅是代碼,讓你初步感性認識一下XML,並不能實現什麼具體應用;

2.其中類似title,author的語句就是自己創建的標記(tags),它們和HTML標記不一樣,例如這里的title是文章標題的意思,HTML里的title是頁面標題。

⑺ XML語言編程

1.<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE 學生列表 [
<!ELEMENT 學生列表 (班級)*>
<!ELEMENT 班級 (學生)*>
<!ELEMENT 學生 (姓名,性別)>
<!ELEMENT 姓名 (#PCDATA)>
<!ELEMENT 性別 (#PCDATA)>
<!ATTLIST 學生 學號 ID #REQUIRED>
<!ATTLIST 班級 黨員 IDREF #IMPLIED>
<!ATTLIST 班級 特定獎學金 IDREF #IMPLIED>
<!ATTLIST 班級 一等獎學金 IDREF #REQUIRED>
<!ATTLIST 班級 二等獎學金 IDREF #REQUIRED>
]>
<學生列表>
<班級 黨員="s789398372" 一等獎學金="s789398377" 二等獎學金="s789398372">
<學生 學號="s789398372">
<姓名>小蘭</姓名>
<性別>女</性別>
</學生>
<學生 學號="s789398377">
<姓名>小青</姓名>
<性別>女</性別>
</學生>
</班級>
</學生列表>

2.<!DOCTYPE 學生列表 [
<!ELEMENT 學生列表 (說明,學生*) >
<!ELEMENT 說明 (#PCDATA)>
<!ENTITY content "所要求內容">
<!ELEMENT 學生 (學號,姓名,性別,班級,出生年月,入學成績)>
<!ELEMENT 學號 (#PCDATA)>
<!ELEMENT 姓名 (#PCDATA)>
<!ELEMENT 性別 (#PCDATA)>
<!ELEMENT 班級 (#PCDATA)>
<!ELEMENT 出生年月 (#PCDATA)>
<!ELEMENT 入學成績 (#PCDATA)>
<!ATTLIST 入學成績 類別 CDATA #REQUIRED>
]>

⑻ 如何在 Visual Studio 中進行XML編程

XML(可擴展標記語言)是一種提供數據描述格式的標記語言。與其他編程語言相比,其有很大的優勢。如可以在多個平台中進行更加准確的內容聲明、更加容易的進行檢索等等。今天我們來介紹如何在Visual Studio中進行XML編程。 一、XML編程可以提高Visual Studio平台中數據的處理能力。 與其把XML當作一種可擴展標記語言,筆者更願意把它叫做一種工具。這個工具可以提高Visual Studio平台中數據的處理能力。正如文章開頭所說的,XML可以將後台數據與表進行分離。如此的話,兩者就可以分工合作。Visual Studio平台只負責數據的邏輯處理,如邏輯運算、條件判斷等等,而不需要關心其客戶端顯示的格式問題。而XML負責在客戶端如何顯示,如保留幾位小數、顯示哪些內容、許可權控制等等。術業有專攻,這么處理,就可以明顯提高Visual Studio平台中應用程序的數據處理能力。 二、使用XML編程工具時要注意安全問題。 雖然可以在Visual Studio平台中實現XML編程語言,但是他們畢竟是不同的產品,其內部的實現機制,如安全機制,有比較大的差異。為此要在這個Visual Studio平台中使用XML工具的話,一些安全方面的問題需要引起程序開發人員的重視。 如在使用XML編輯器的時候,需要注意類的執行許可權。XML編輯器是Visual Studio中實現XML的主要途徑。通常情況下,這個XML編輯器在系統初次載入時會自動下載。那麼如何下載這個XML編輯器才是安全的呢?一般情況下可以通過HTTP的方式下載。但是由於HTTP協議自身的缺陷(其不會對傳輸的數據進行加密),故有時候出於安全方面的考慮,會對其進行限制。用戶通常可以在XML編輯器、雜項工具選項對話框中,設置是否需要禁用HTTP下載。 如在調試時,需要給XSLT調試程序配置合適的許可權。XSLT是在Visual Studio平台中調試XML可擴展標記語言的工具。XSLT調試程序會在沙盒型應用程序中對XML腳本語言進行XSLT轉換。在轉換的過程中,出於安全方面的考慮,程序人員往往需要根據樣式表所在處的位置來指定一系列的安全策略。如來自互聯網的樣式表通常來說存在一定的安全隱患,此時就需要對其許可權進行限制。而對於來自用戶電腦上或者企業共享伺服器上的樣式表,相對安全,可以採取完全信任的許可權運行。針對樣式表的不同位置設置不同的許可權,則可以在最大程度上保障安全與效率方面的均衡。 三、如何在Visual Studio 中生成XML Web Services客戶端。 通過創建XML Web Services客戶端的形式來實現XML,是一個常用的便捷方法。XML Web Services客戶端是指使用SOAP消息與Web伺服器進行通信的組件和應用程序。XML Web Services客戶端其實際的表現形式有兩種。一是通過網頁形式來實現,即一個Web應用程序;二是通過傳統的客戶端界面來實現,即跟C/S模式下的客戶端類似,只是其採用的協議不同。那麼該如何在Visual Studio平台中建立XML Web Services客戶端呢?由於在Visual Studio中友好的集成了XML工具,所以要實現這個要求並不難。筆者認為可以歸結為如下四個步驟來完成。 第一步創建一個Web服務的代理類。在具體實現之前,程序開發人員要轉變一個觀念。即在實現XML編程工具的時候,其都是通過類來實現的。也就是說,VisualStudio中內置了許多類,通過這些類來調用XML可擴展標記語言。了解這個前提,對於後面的開發具有很大的幫助。為此要創建XML Web Services客戶端的話,首先需要創建一個Web服務的代理類。 第二步在客戶端重對剛才創建的類進行處理。如需要在客戶端代碼中引用剛才創建的代理類,並且需要創建這個代理類的一個實例。在引用代理類的時候,需要注意不同的客戶端類型,其引用的方式有所不同。在開發客戶端的時候,如果即要採用Web應用程序作為客戶端,也需要傳統的C/S客戶端,那麼在開發應用程序中可能需要加入一個必要的判斷條件,以增強應用程序的靈活性。舉一個簡單的例子,如開發一個郵件系統。其即可以直接通過網頁來訪問郵件,也可以通過outlook郵件客戶端來接收郵件。由於採取的客戶端類型不同,其代理類的引用方式也有所不同。此時伺服器就需要判斷用戶採用的是哪種類型的客戶端。根據判斷的結果來確定所需要採用的引用方法。 第三步設置代理類的屬性與方法。一般情況下,對於代理類的屬性只要採用默認的即可。但是有時候程序開發人員可能不允許匿名訪問。如一個電子商務系統,一定要求用戶有合法的身份才可以訪問。此時就需要更改代理類的屬性(更改Credentials屬性)。這個屬性主要的作用就是用來獲取或者設置客戶端身份驗證的安全憑據。如程序開發人員將這個屬性顯示設置為需要身份驗證憑據時,就會禁止用戶匿名訪問。設置完屬性之後,還需要對這個代理類調用與要與之進行通信的Web服務設置相對應的方法。這里需要注意一點,跟代理類引用一樣,用戶所採用的客戶端類型不同,其方法也有所不同。對於有多個客戶端要求的應用軟體來說,需要在設置的時候,加入一個判斷條件。根據用戶所採用的客戶端不同,對應不同的方法。否則的話,無論是數據還是在顯示格式上,都會與實際的有所差異。 第四步就是對客戶端進行調試。在調試的時候,除了要注意功能是否可以實現之外,還需要關注安全方面的問題。在上面的內容中筆者強調過,需要根據XML樣式表的位置來設置不同的許可權。這可以在保障安全性的同時,提高應用程序的效率。在調試與測試的過程中,有可能為出現「請求因HTTP狀態失敗:拒絕訪問」的錯誤信息。很多新手在使用XML編程工具的時候,都會遇到這個問題。這主要是因為許可權上的錯誤所造成的。如有可能是沒有將安全憑據傳遞給代理類的憑據緩存。 要解決這個問題的話,就需要對Windows身份驗證模式進行配置。如需要配置客戶端憑據並將這個憑據傳遞給使用各種形式的Windows身份驗證的Web服務。身份驗證是一項比較復雜的工作。在一個開發團隊中,往往有專門的技術人員來負責這塊內容,其主導這個應用程序的整個安全機制。故具體採用哪種形式的身份認證方式、如何才能夠安全的傳遞憑據,這需要開發人員與安全技術人員共同協商實現。其一個主要的原則就是在保障安全的同時,不要影響到應用程序的性能。在實際工作中,經常會遇到這種錯誤。系統登陸的時候,速度特別慢。但是登陸以後,其速度就會有顯著的改善。這很大一方面原因,就是沒有在身份認證與性能之間獲得一個平衡。這無形中就給用戶造成了不好的影響。 最後筆者總結一下。在Visual Studio平台中生成XML編程時,主要需要注意兩點。一是用戶所採用的客戶端不同,其代理類的引用與對應的方法有所差異。為了提高應用程序的靈活性,在代碼中往往需要加入判斷條件。或者就開發兩個不同類型的客戶端。二是安全固然重要,性能也不能夠忽視。在實際開發中,要避免登陸過程慢、後續操作快的誤區。

閱讀全文

與xml編程詳細講解相關的資料

熱點內容
海南離島將加貼溯源碼銷售嗎 瀏覽:244
linux分區讀取 瀏覽:794
單片機液晶顯示屏出現雪花 瀏覽:890
解壓器用哪個好一點 瀏覽:771
什麼app看小說全免費 瀏覽:503
sha和ras加密 瀏覽:823
韓順平php視頻筆記 瀏覽:636
阿里雲ecs伺服器如何設置自動重啟 瀏覽:596
三星電視怎麼卸掉app 瀏覽:317
如何將pdf轉換成docx文件 瀏覽:32
dos命令批量改名 瀏覽:376
centosphp環境包 瀏覽:601
mfipdf 瀏覽:534
電腦解壓後電腦藍屏 瀏覽:295
外網訪問內網伺服器如何在路由器設置 瀏覽:856
2014統計年鑒pdf 瀏覽:434
linuxoracle用戶密碼 瀏覽:757
股票交易pdf 瀏覽:898
p2papp源碼 瀏覽:308
記錄睡眠軟體app哪個好用 瀏覽:140