2016-12-05 32 views
0
XML文件

我試圖寫一個XML文件,我的XML文件中,我有:寫入到Android的

<user> 
    <name></name> 
</user> 

,我可以將方法寫入到XML文件:

public void WriteToXML() throws ParserConfigurationException, IOException, SAXException { 
    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
    Document doc = dBuilder.parse(inputStream); 
    Element element = doc.getDocumentElement(); 
    element.normalize(); 
    NodeList nList = doc.getElementsByTagName("user"); 
    Node node = nList.item(0); 

    if (node.getNodeType() == Node.ELEMENT_NODE) { 

     Element element2 = (Element) node; 
     if(element2.getTagName() == "name") 
     { 
      element2.setNodeValue("SFDSFSDF"); 
     } 

    } 
} 

然而,該方法被調用,但由於某種原因,它並不實際寫入到XML文件,因爲當我讀了它自己是不實際的XML內什麼嗎?

+1

你p robably不應該使用'==「名稱」' –

+0

@ cricket_007我將如何聲明哪個標籤插入?那是因爲我可在 KTOV

+0

有多個標籤,只是沒有如何[在Java中比較字符串(http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) –

回答

0

嘗試更換:

element2.getTagName() == "name" 

由:

(element2.getTagName()).equals("name") 

此外,嘗試更換:

element2.setNodeValue("SFDSFSDF"); 

由:

element2.setTextContent("SFDSFSDF"); //adds content 
+0

這實際上不會寫入xml文件嗎?它只會改變內存? – KTOV

+0

getNodeValue()/ setNodeValue()方法根據您擁有的節點類型而有所不同。 –

+0

所以,實際上,我怎麼寫文件 – KTOV