轉帖|其它|編輯:郝浩|2012-02-22 23:30:35.000|閱讀 362 次
概述: 本章節主要介紹如何在Text Control中使用XML文件,包括如何打開XML文件,以及如何與CSS文件及DTD文件協同工作。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
本章節主要介紹如何在Text Control中使用XML文件,包括如何打開XML文件,以及如何與CSS文件及DTD文件協同工作。
本章節相應的源代碼可以在TX Text Control.NET的安裝目錄中找到:
Samples\WinForms\VB.NET\ XMLBasics
Samples\WinForms\CSharp\ XMLBasics
(一)示例程序
示例程序中只有一個【Open File...】菜單項,源代碼與其它Text Control程序并沒有多大的區別,僅僅是在調用Load方法時選擇了TXTextControl.StreamType.XMLFormat作為參數,所以在文件對話框中只顯示XML文件:
[C#]
private void mnuFile_Open_Click(object sender, System.EventArgs e)
{
textControl1.Load(TXTextControl.StreamType.XMLFormat);
}
通過這種方式打開一個XML文件,Text Control不僅僅是加載XML文件,還會依照DTD文件自動地對XML文件運行驗證,同時會依照CSS中的樣式設置來格式化XML文件。下面就進一步的討論XML、CSS和DTD三種文件。
(二)XML文件
該示例程序使用的XML文件包含一個地址信息:
<?xml version="1.0"?>
<?XML:stylesheet type="text/css" href="address.css"?>
<!DOCTYPE address SYSTEM "address.dtd">
<address>
<address_record>
<name>Paul</name>
<street>Baker Street</street>
<city>London</city>
<email>[email=paul@hotmail.com]paul@hotmail.com[/email]</email>
</address_record>
<address_record>
<name>George</name>
<email>[email=george@hotmail.com]george@hotmail.com[/email]</email>
</address_record>
</address>
需要注意的是,XML文件并不像HTML和RTF文件那樣包含顯示格式的相關信息。
(三)CSS文件
在XML文件的第二行,我們可以看到XML文件引用了address.css文件,該CSS文件中指明了address對象應該按照表格進行顯示,address對象的每項數據單獨顯示在表格的單元格中,表格有一個像素的邊框,字體大小為11個像素。
address { display: table }
address_record { display: table-row}
name, street, city, email { display: table-cell; border: 1px; font-size: 11pt }
加載address.xml之后,可以在Text Control中看到以下格式的文本
通過修改CSS文件可以調整數據的顯示樣式,例如,將之前使用的表格顯示方式調整為列表顯示方式:
name { display: block; font-size: 14pt; color: blue }
street, city, email { display: list-item; font-size: 11pt}
(四)DTD
DTD文件用于規定XML文件中元素的相關信息,元素應該是順序形式還是級聯形式。下面的DTD示例文件指明了一個adress包含一個或者多個address_record元素,每個address_record可以包含name、street、city和email元素,其中street和city是可選的元素。
<!ELEMENT address ( address_record+ )>
<!ELEMENT address_record ( name, street?, city?, email )>
<!ELEMENT name (#PCDATA )>
<!ELEMENT street (#PCDATA )>
<!ELEMENT city (#PCDATA )>
<!ELEMENT email (#PCDATA )>
當加載XML文件時,Text Control會根據DTD文件來檢查該XML文件是否正確,如果XML文件中的數據不符合DTD文件中相應元素的定義,將會產生一個錯誤信息。
這種嚴格的錯誤檢查也是XML文件的優勢之一,通過這種錯誤檢查可以確保XML文件有一個固定的結構,以便于其它應用程序使用。
(五)XML模式下的編輯操作
下面將演示普通文本編輯和XML文件編輯之間的一些差異。使用的源代碼可以在以下目錄中找到: ?
Samples\WinForms\VB.NET\ XMLEditing
Samples\WinForms\CSharp\ XMLEditing
運行示例程序并加載address_list.xml文件,你會發現在按鈕欄中會多出三個下拉框:
你不必關心這些下拉框該如何創建,因為這是ButtonBar內置的功能。
第一個下拉框顯示了當前XML字段使用的樣式,如果你按下方向鍵中的向下鍵,顯示內容將根據你當前字段的類型從name變為street、city或email。第二個下拉框將顯示可以插入的XML字段。
你可以選擇插入一個完整的address記錄,或其中的一個節點。根據DTD文件中的定義,并不是所有節點都是可以進行插入的。例如:你點擊文檔中第一行的Paul,并試圖插入一個street節點,程序將出現一個錯誤,因為這條記錄已經包含了street節點,如果插入Ringo就是正確的。
第三個下拉框是用于刪除XML字段的,所有操作都是根據DTD文件中的定義來執行的,你可以根據DTD文件來查看哪些操作時允許的,哪些是被禁止的。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:葡萄城控件技術團隊博客