這裡只介紹XMLBuddy,它主要提供是有關DTD方面的驗證、代碼助手等功能;還有一種是XMLBuddy Pro,它相對於XMLBuddy來說,擴展了許多功能,比如對Schema、XSLT、RELAX NG 的支持,但它需要Money。對於XML的一般編寫,XMLBuddy已經夠用了,而且它是免費的,很容易得到,所以這裡就著重談談它了。
一、下載與安裝
1. 下載
XMLBuddy的主頁地址是:www.xmlbuddy.com
下載要注意是XMLBuddy,不是XMLBuddy Pro。這裡給出一個下載地址,是XMLBuddy 2.0.38版本的:
http://xmlbuddy.com/2.0/78945789020508924908525/8902390238490587584751/xmlbuddy_2.0.38.zip
注意:這個版本匹配的是eclipse 3.0.1-3.1M5。
為了講解方便,我使用的eclipse的版本是3.0.1,並且安裝了中文語言包,沒有安裝其它插件。如圖:
2. 安裝
安裝XMLBuddy 2.0.38,先解壓這個下載的文件,然後將com.objfac.xmleditor_2.0.38這個目錄復制到eclipse安裝目錄下的plugins目錄中即可;或者采用links方式安裝也可以。
再次啟動eclipse,應該可以發現XMLBuddy已經安裝了。
3. 定制
如果要定制XMLBuddy,可以通過 窗口 ->首選項 ->XMLBuddy 來修改:
二、使用XMLBuddy
下面開始講解如何使用XMLBuddy:
· 新建一個名稱為“XMLBuddyDemo”的Java項目,然後建立一個web.xml文件。如下:
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
· 如果此時沒有連接因特網的話,如下圖:
這時,如果你輸入代碼,也不會出現代碼提示的功能。
· 連接因特網,重新打開web.xml文件,停頓片刻(XMLBuddy會自動下載web-app_2_3.dtd),然後如圖進行操作:
還可以使用“Alt+/”進行代碼提示。
· 完成後的代碼:
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<error-page>
<error-code>
404
</error-code>
<location>
/error.jsp
</location>
</error-page>
</web-app>
怎麼樣,方便吧!
補充:
如果你打開eclipse目錄\workspace\.metadata\.plugins\com.objfac.xmleditor\.cache下的“f1”文件(不一定是f1這個名稱,可能是f2、f3等名稱),會發現這個文件就是web-app_2_3.dtd。
· 如果不能連接因特網,或者名稱空間中所含的鏈接是失效的,可以先通過別的途徑取得web-app_2_3.dtd文件,比如將它放在D:/xml目錄下,然後直接引用即可,如下:
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"file:///D:/xml/web-app_2_3.dtd">
<web-app>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
你可以試試將名稱空間(即!DOCTYPE標記)去掉,一樣是可以部署在Tomcat中的。
· XMLBuddy還有其它功能,比如“格式化”代碼。
三、一些題外話
其它插件,比如Lomboz、JBoss-IDE等雖然也可以編輯XML文件,但就其性能來說,不如XMLBuddy,這裡也就不多說了。
但有一點要注意,當安裝多個插件後,XML文件的默認打開方式不一定是XMLBuddy了(這是安裝JBoss-IDE後的結果),這時,可以選中要打開的XML文件,右擊,選擇XMLBuddy打開,當下次再打開這個XML文件時,eclipse會默認調用XMLBuddy來操作。當然,也可以選擇其它插件打開。你還可以通過修改XML文件的默認打開方式來進行操作(窗口 ->首選項 ->工作台 ->文件關聯),甚至可以調用一個外部軟件(比如 XML Spy)操作XML文件(如果你認為這些插件都不合心意的話)。
總的來說,XMLBuddy對於XML文檔類型為DTD的文件來說,操作還是很不錯的,但對於XML文檔類型為W3C XML Schema模式的文件來說,就不太好了,當然,你可以使用XMLBuddy Pro版本編輯,不過似乎也不大好用。還好,大部分還是DTD的,這樣XMLBuddy還是有的用的。
現在,eclipse下有一個項目,是“Eclipse Web Tools Platform Project”,當前版本是 1.0M3,主要是用來開發J2EE及WEB方面的應用的,當然可以編輯XML文件了。試用了一下還是很不錯的,下面給個圖來給大家解解渴:
其實,我一直認為,XML文件是程序與程序進行交流的一種方式,但不應該是程序與程序員進行交流的一種方式。我總覺得它太羅嗦了,真是受不了,跟唐僧似的(開個玩笑,放松放松)。所以我一般不大情願編寫XML文件,經常是利用XDoclet來生成XML文件。這些都是題外話了,就不羅嗦了。