gpt4 book ai didi

java - 追加后将 XML 文件写入 android

转载 作者:行者123 更新时间:2023-11-30 04:47:09 26 4
gpt4 key购买 nike

我需要在 android 中编写 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();
}

最佳答案

我在编写 DOM 文档时遇到了问题,这让我走上了正确的道路。根据您的代码,我必须将 OutputStreamWriter 绑定(bind)到 StreamResult。

实例化之后:

StreamResult result =  new StreamResult(new File(filepath));

调用如下:

result.setWriter(osw);

在执行转换之前。这对我有用。

关于java - 追加后将 XML 文件写入 android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4591678/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com