2010-11-26 27 views
0

我正在開發Java Web Start分發器應用程序。它使用定義如何爲客戶端提供資源的配置XML。在請求過程中會生成一些資源。我正在使用自定義SAXParser處理程序處理主配置文件。如何在使用SAX解析時捕獲XML節點

在配置文件中,我想添加一個嵌入式XML定義部分,該部分具有可保存的XML文檔的根節點作爲子節點。

例如:

<Resources> 
    <!-- other resource definitions --> 
    <EmbeddedXMLResource mapsForRequest="embedded.xml"> 
    <HiThere> 
     <ThisIsAnEmbeddedXMLDocument/> 
    </HiThere> 
    </EmbeddedXMLResource> 
    <!-- ... --> 
</Resources> 

我不知道是否有讀取<HiThere>節點到DOM文檔或至少<EmbeddedXMLResource>內拍攝的內容爲String跳過SAX處理什麼辦法?

我想過把嵌入式內容放入CDATA部分。通過這種方式,我可以將嵌入式XML讀取爲文本節點,但是在嵌入式節點上編輯器中會丟失語法突出顯示。

+0

爲什麼使用SAX解析器開始?對於大型文檔,SAX在內存方面效率很高,但對於配置文件來說,它是過度殺毒的,並且使用比其他各種API更難的API。 – 2010-11-26 07:25:45

+0

無論如何,我必須遍歷整個XML,因爲我從節點構造了不同的類。我認爲SAX解析器對此更好。 – NagyI 2010-11-26 07:37:46

回答

0

也許......

  1. 上的startElement HiThere獲得文件的起始位置與定位
  2. 上的endElement HiThere得到結束位置也。
  3. 使用其他Reader打開xml資源,並將相關部分提取爲字符串,依此類推。

好笑。