我的位置: 首页 > 学习专区 > 安卓技术 > Android使用Pull解析器生成XML文件

Android使用Pull解析器生成XML文件

2012-01-31 11:05:00
来源:
[导读] 有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中;或

有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中;或者使用DOM API生成XML文件,或者也可以使用pull解析器生成XML文件,这里推荐大家使用Pull解析器。

使用Pull解析器生成一个与itcast.xml文件内容相同的myitcast.xml文件

使用代码如下(生成XML文件):

File xmlFile = new File(“myitcast.xml”);

FileOutputStream outStream = new FileOutputStream(xmlFile);

OutputStreamWriter outStreamWriter = new OutputStreamWriter(outStream, “UTF-8″);

BufferedWriter writer = new BufferedWriter(outStreamWriter);

writeXML(persons, writer);

writer.flush();

writer.close();

如果只想得到生成的xml内容,可以使用StringWriter:

StringWriter writer = new StringWriter();

writeXML(persons, writer);

String content = writer.toString();

代码:

public static String writeXML(List persons, Writer writer){

XmlSerializer serializer = Xml.newSerializer();

try {

serializer.setOutput(writer);

serializer.startDocument(“UTF-8″, true);

//第一个参数为命名空间,如果不使用命名空间,可以设置为null

serializer.startTag(“”, “persons”);

for (Person person : persons){

serializer.startTag(“”, “person”);

serializer.attribute(“”, “id”, person.getId().toString());

serializer.startTag(“”, “name”);

serializer.text(person.getName());

serializer.endTag(“”, “name”);

serializer.startTag(“”, “age”);

serializer.text(person.getAge().toString());

serializer.endTag(“”, “age”);

serializer.endTag(“”, “person”);

}

serializer.endTag(“”, “persons”);

serializer.endDocument();

return writer.toString();

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

大家都关注:
评论
热点专题
>>