Android XML序列化程序无法将所有数据写入 XML 文件
Android XMLSerializer cannot write all data into XML file
现在,我正在尝试通过 uiautomator 在 运行 uiautomation 测试中编写 XML 文件。
我使用 XMLSerializer 在 android 中写入 XML。没关系。它在 运行 测试时写入 XML 文件。一件事它不能写入所有数据,如下所示。
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tests>
<test>
<no>1</no>
<desc>Test One</desc>
</test>
<test>
<no>2</no>
<desc>Test Two</desc>
</test>
<tes
看,它无法写入所有数据。这是我的代码。
// Export XML file content.
XmlSerializer serializer = Xml.newSerializer();
StringWriter stringWriter = new StringWriter();
serializer.setOutput(stringWriter);
serializer.startDocument("UTF-8", true);
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
serializer.startTag(null, "tests");
for(Test test : testList){
serializer.startTag(null, "test");
serializer.startTag(null, "no");
serializer.text(test.getNo());
serializer.endTag(null, "no");
serializer.startTag(null, "desc");
serializer.text(test.getDesc());
serializer.endTag(null, "desc");
serializer.endTag(null, "test");
}
serializer.endTag(null, "tests");
// Write file.
FileWriter fileWriter = new FileWriter("test.xml");
fileWriter.write(stringWriter.toString());
fileWriter.close();
我的测试列表至少有 15 个测试。因此,它应该编写所有测试。但它只写了 2 个。为什么!我不知道。
帮帮我。谢谢
在这种情况下我更愿意使用 Editable。
示例:
Editable editable;
....
....
....
editable.append("<Type> " + "Name"+ " </Type>" + "<Class>" +"Class Name" + "</Class>");
它更容易,而且做同样的事情。希望能帮助到你。 :)
主要问题是"you are not ending document of serializer"如下:
serializer.endDocument();
现在,我正在尝试通过 uiautomator 在 运行 uiautomation 测试中编写 XML 文件。 我使用 XMLSerializer 在 android 中写入 XML。没关系。它在 运行 测试时写入 XML 文件。一件事它不能写入所有数据,如下所示。
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tests>
<test>
<no>1</no>
<desc>Test One</desc>
</test>
<test>
<no>2</no>
<desc>Test Two</desc>
</test>
<tes
看,它无法写入所有数据。这是我的代码。
// Export XML file content.
XmlSerializer serializer = Xml.newSerializer();
StringWriter stringWriter = new StringWriter();
serializer.setOutput(stringWriter);
serializer.startDocument("UTF-8", true);
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
serializer.startTag(null, "tests");
for(Test test : testList){
serializer.startTag(null, "test");
serializer.startTag(null, "no");
serializer.text(test.getNo());
serializer.endTag(null, "no");
serializer.startTag(null, "desc");
serializer.text(test.getDesc());
serializer.endTag(null, "desc");
serializer.endTag(null, "test");
}
serializer.endTag(null, "tests");
// Write file.
FileWriter fileWriter = new FileWriter("test.xml");
fileWriter.write(stringWriter.toString());
fileWriter.close();
我的测试列表至少有 15 个测试。因此,它应该编写所有测试。但它只写了 2 个。为什么!我不知道。
帮帮我。谢谢
在这种情况下我更愿意使用 Editable。
示例:
Editable editable;
....
....
....
editable.append("<Type> " + "Name"+ " </Type>" + "<Class>" +"Class Name" + "</Class>");
它更容易,而且做同样的事情。希望能帮助到你。 :)
主要问题是"you are not ending document of serializer"如下:
serializer.endDocument();