写入xml文件
问题描述:
我只需要在点击应用程序中的按钮后创建并写入XML文件。如果我的代码只是一个纯Java文件,我就可以工作,但如果我尝试在模拟器中将它作为应用程序的一部分运行,则它不会执行任何操作。我没有得到任何错误,它根本没有做任何事情。写入xml文件
我试着创建一个实现接口,并这样做,但我得到了同样的结果。
这是我现在的代码的相关部分。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
add_defect.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
// Add this and a bunch of other stuff that I edited out
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("root");
doc.appendChild(rootElement);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("C:\\Users\\soandso\\Documents\\myXml.xml"));
// Output to console for testing
//StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
}
}
}
}
});
}
}
答
你的代码运行Android设备,不是Windows的计算机上或Android Studio中。
因此,C:\\Users\\soandso\\Documents\\myXml.xml
不存在,你应该得到一个logcat的错误说这一点。
你应该在Android上阅读有关File Storage,因为你还需要授予自己写权限的设备存储空间。