1
XMLファイルをアンドロイドに書き込んで、新しいものに置き換える必要があります。コードは正常に動作していますが、私が持っているXMLファイルで何も変わっていません。XMLファイルを追加した後にアンドロイドに書き込む
try{
FileOutputStream fOut = openFileOutput("/data/data/test.fileshow/files/Landmarks.xml", MODE_WORLD_READABLE);
OutputStreamWriter osw = new OutputStreamWriter(fOut);
String filepath = "Landmarks.xml";
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(filepath);
Element Row, Longitude, Latitude, Title, Category, Rating;
Node staff = doc.getElementsByTagName("Root").item(0);
Row=doc.createElement("Row");
Longitude=doc.createElement("Longitude");
Longitude.appendChild(doc.createTextNode("555"));
Row.appendChild(Longitude);
Latitude=doc.createElement("Latitude");
Latitude.appendChild(doc.createTextNode("ABCCamera"));
Row.appendChild(Latitude);
Title=doc.createElement("Title");
Title.appendChild(doc.createTextNode("title"));
Row.appendChild(Title);
Category=doc.createElement("Category");
Category.appendChild(doc.createTextNode("category"));
Row.appendChild(Category);
Rating=doc.createElement("Rating");
Rating.appendChild(doc.createTextNode("rating"));
Row.appendChild(Rating);
staff.appendChild(Row);
//write the content into xml file
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(filepath));
transformer.transform(source, result);
osw.flush();
osw.close();
}catch(ParserConfigurationException pce){
pce.printStackTrace();
}catch(TransformerException tfe){
tfe.printStackTrace();
}catch(IOException ioe){
ioe.printStackTrace();
}catch(SAXException sae){
sae.printStackTrace();
}
コードをインデントすると、人々はより多くのことができるようになります。 – Thanatos
'osw'を初期化し、フラッシュして閉じますが、実際に何も書き込むことはありません。 –
私はosw.write()を試しましたが、結果を得る方法がわかりません。アンドロイドでファイルに結果を書き出す方法を私に教える人が必要でした。コードビューを編集していただきありがとうございますthanathos =) – Cid