2012-03-02 75 views
1

我想根據屬性使用DOM解析器使用JAVA從XML文件中刪除節點。 對於實例如何根據屬性使用DOM從DOM中刪除節點DOM解析器

<company> 
    <staff id="1"> 
     <firstname>yong</firstname> 

    </staff> 
    <staff id="2"> 
     <firstname>low</firstname> 

    </staff> 
</company> 

根據工作人員的ID,我想刪除節點。

+1

我在做完所有docummentBuilder API之後嘗試了下面的代碼。 NodeList nList = doc.getElementsByTagName(「staff」); 對(INT I = 0; I Eshika 2012-03-02 11:51:46

+0

- 會發生什麼?你會得到一個異常還是仍然在DOM中的被刪除的節點? – 2012-03-02 11:58:34

+0

沒有Exception.Node仍然存在於DOM中。 – Eshika 2012-03-03 05:12:00

回答

1

感謝您的回覆。 我發佈的上述解決方案是正確的。只有我需要用一些轉換API再次編寫xml。 發佈解決方案,如果任何機構有同樣的問題。

try{ 
          //Save the Created XML on Local Disc using Transformation APIs as Discussed 
          TransformerFactory tFactory = TransformerFactory.newInstance(); 
          Transformer transformer = tFactory.newTransformer(); 
          transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
          Source s = new DOMSource(doc); 
          Result res = new StreamResult(new FileOutputStream(fXmlFile)); 
          try { 
           transformer.transform(s, res); 
          } catch (TransformerException e) { 
           // TODO Auto-generated catch block 
           e.printStackTrace(); 
          } 

         } catch(TransformerConfigurationException e) 
         { 
          e.printStackTrace(); 
         } 
         } catch (Exception e) { 
         e.printStackTrace(); 
         }