2017-05-07 11 views
0

私は学校のプロジェクト用のゲームを開発しています。私はゲームの状態をXMLファイルに保存したいと思います。私は、XMLファイル内の情報のを読むことができるが、私はそれを更新することはできませんし、私はなぜ知らない瞬間Java DOM xml版の問題

...ここ

はXMLです:

<story> 
    <level id="1"> 
    <text>Some info about the level...</text> 
    <finished>false</finished> 
    <nbsteps>0</nbsteps> 
    </level> 
</story> 

<finished>false</finished><finished>true</finished>に編集したいと思います。私はこれを編集するにはそのコードを書いたが、それは実際にXMLを編集していない現時点では

...

public void updateSave(){ 
    try { 

     DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
     Document doc = dBuilder.parse(this.xmlSave); 

     Element racine = doc.getDocumentElement(); 
     NodeList levelList = doc.getElementsByTagName("level"); 
     Element niveau = (Element) levelList.item(this.levelId); 
     niveau.getElementsByTagName("finished").item(0).setTextContent("true"); 


     } 
     catch (ParserConfigurationException | SAXException | IOException | DOMException e) {} 
    } 

説明してくれてありがとうと良い一日を!

+2

あなたのコードである「^^保存するのを忘れたが、それを保存していませんディスクを保存する必要があります。 – glee8e

+0

これを見てください:[http://stackoverflow.com/questions/4561734/how-to-save-parsed-and-changed-dom-document-in-xml-file ](http://stackoverflow.com/questions/4561734/how-to-save-parsed-and-changed-dom-document-in-xml-file)。 –

+0

ありがとう、それは今動作します! –

答えて

0

オーケーおかげで私は

よく働く私の決定的なコードは、** XML編集**ました

public void updateSave() throws TransformerConfigurationException, TransformerException{ 
    try { 

     DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
     Document doc = dBuilder.parse(this.xmlSave); 

     Element racine = doc.getDocumentElement(); 
     NodeList levelList = doc.getElementsByTagName("level"); 
     Element niveau = (Element) levelList.item(this.node.id); 
     niveau.getElementsByTagName("finished").item(0).setTextContent("true"); 

     Transformer transformer = TransformerFactory.newInstance().newTransformer(); 
     Result output = new StreamResult(this.xmlSave); 

     Source input = new DOMSource(doc); 
     transformer.transform(input, output); 
     } 
     catch (ParserConfigurationException | SAXException | IOException | DOMException e) {} 
    }