2010年7月7日 星期三

產生具有 外部DTD 的 Document 文件

一般建立 Document 文件無非是使用文件檔案載入 documentbuilder.parse(File); ,或是產生空白的 Document 文件 documentbuilder.newDocument();  ,然而 org.w3c.dom 套件 提供我們產生具有 外部DTD 的 Document 文件,就是使用 DOMImplementation 介面,其方式如下:
DocumentBuilderFactory documentbuilderfactory
                                                 =DocumentBuilderFactory.newInstance();
//產生DocumentBuilderFactory 物件
DocumentBuilder documentbuilder
                                                 =documentbuilderfactory.newDocumentBuilder();
//利用 DocumentBuilderFactory 產生DocumentBuilder物件

Document document;
//建立 Document 物件
DocumentType doctype;
//建立 DocumentType 物件
DOMImplementation domimpl=documentbuilder.getDOMImplementation();
//利用documentbuilder 產生 DOMImplementation 物件

doctype=domimpl.createDocumentType("rss", null, "D:\\test.dtd");
//產生新的 DocumentType
//根元素為 rss ,不使用 public id,system id 設定為 外部DTD 位置

document=domimpl.createDocument(null, "rss", doctype);
//產生新的 Document 文件
//不使用 URI , 根元素為 rss,使用 doctype 作為 DTD

此刻產生的 Document 文件就具有 rss 的根元素,所以不需要再利用
      document.appendChild(document.createElement(根元素));
產生根元素,否則可能會出現不可預期的錯誤。

參考資料: 

沒有留言:

張貼留言