2013-10-29 75 views
2

我正在使用SAX解析器來解析我的XML文件。我想添加一個像這樣的新元素。如何使用SAX解析器在XML中添加元素?

enter code here 
<data> 
<accounts> 
    <account id="1"> 
     <firstName>aaaa</firstName> 
     <lastName>bbbb</lastName> 
     <accountNumber>12342344</accountNumber> 
    </account> 
</accounts> 

我要讓我上XML這樣:

enter code here 
<data> 
<accounts> 
    <account id="2"> 
     <firstName>hgff</firstName> 
     <lastName>lfghdf</lastName> 
     <accountNumber>2344</accountNumber> 
    </account> 
        <account id="1"> 
     <firstName>asdf</firstName> 
     <lastName>gen</lastName> 
     <accountNumber>144</accountNumber> 
    </account> 
</accounts> 
</data> 

回答

1

SAX解析器提供了一個事件驅動framwork解析XML文件。通過我的意思是採取一個XML文件可以幫助你提取信息到你的內部存儲。它不能幫助你使用通用xml。 DOM解析器framworks通常具有xml生成功能。沒有自己的內部存儲的SAX解析器沒有。

+0

所以我必須轉移到DOM,只是爲了實現添加?或者我可以同時使用?是否有可能在一個類中使用兩個解析器? – link

+0

爲此,DOM解析器會更簡單,但沒有任何東西阻止您從內部存儲生成自己的xml。 – doron

+0

使用DOM生成它之後,我可以使用SAX解析它嗎?在XML上查找字符串的SAX實現更快更容易。 – link

1

使用SAX非常高效,但在編程方面非常耗費人力。我不清楚你是否知道這一點。

在SAX過濾器中實現這種轉換肯定很容易,而且我不清楚爲什麼你發現它很困難。也許你需要做更多的閱讀:Elliotte Rusty Harold關於Java和XML的書,如果我沒有記錯的話,在編寫SAX應用程序方面有很棒的篇章。

+0

謝謝我會檢查出來。 – link