2011-07-07 29 views
7

tôi muốn nối thêm thẻ mới với một số thuộc tính với các giá trị đó vào tệp xml và lưu tệp xml đó thông qua ứng dụng của tôi.i đã viết phương thức chắp thêm thẻ mới dưới dạng tệp con xml có sẵn trong sdcard phương pháp sau đây để thêm một thẻ mới như saucách thêm thẻ vào xml trong android? và cách lưu tệp xml đó?

public void appendTag(){ 

    try{ 

     DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); 
     Document doc = docBuilder.parse (new File("/sdcard/sample.xml")); 

    Node node = doc.getElementsByTagName("earth").item(0); 

    //append a new node to earth 
    Element newelmnt = doc.createElement("new"); 
    newelmnt.appendChild(doc.createTextNode("this is a text")); 
    node.appendChild(newelmnt); 


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

} 

sau khi thực hiện phương pháp này tôi không thể tìm thấy thẻ mới trong tệp xml.

có thể làm hài lòng bất kỳ trợ giúp nào về cách gắn thẻ mới dưới dạng con trong tệp xml và cách lưu sửa đổi?

nếu tôi sử dụng TransformerFactory tôi đang nhận được lỗi như LỖI/AndroidRuntime (13.479): java.lang.VerifyError: com.sample.xmlapp.DOMClass tôi đã sử dụng như sau

 TransformerFactory factory = TransformerFactory.newInstance(); 
    Transformer transformer = factory.newTransformer(); 

    DOMSource source = new DOMSource(doc); 
    StreamResult result = new StreamResult(new File("/sdcard/sample.xml")); 
    transformer.transform(source, result); 

Trả lời

2

của bạn trong tài liệu bộ nhớ sẽ được thay đổi, nhưng bạn sẽ cần phải ghi nó vào một tập tin một lần nữa.

Hãy thử thêm này cho các văn bản tài liệu đến tập tin một lần nữa:?

TransformerFactory factory = TransformerFactory.newInstance(); 
Transformer transformer = factory.newTransformer(); 

DOMSource source = new DOMSource(doc); 
StreamResult result = new StreamResult(new File("/sdcard/sample.xml")); 
transformer.transform(source, result); 
+0

nếu tôi sử dụng trên lớp TransformerFactory tôi đang nhận được lỗi sau làm thế nào tôi có thể giải quyết các lỗi 07-ngày 07 Tháng mười hai: 36: 22,361: ERROR/AndroidRuntime (12276): java.lang.VerifyError: com.fitzgerald.xmlapp.DOMClass –

+0

Bạn có cấp API nào? Có vẻ như những người lớn tuổi không có máy biến áp. Xem [bài đăng này] (http://stackoverflow.com/questions/2290945/writing-xml-on-android) nếu đúng như vậy. – wjans

Các vấn đề liên quan