展会信息港展会大全

使用pull 解析器编写XML Android创建XML
来源:互联网   发布日期:2016-01-19 11:29:40   浏览:1459次  

导读:在本例中,XmlSerializer类仅仅将事件推送到了一个java io StringWriter实例中。它提供了一个直观的API,通过各种方 法开始和结束文档、处理元素以及添加文本或属性。这是StringBuilder的一种出色的替换方案,因 ...

在本例中,XmlSerializer类仅仅将事件推送到了一个java.io.StringWriter实例中。它提供了一个直观的API,通过各种方 法开始和结束文档、处理元素以及添加文本或属性。这是StringBuilder的一种出色的替换方案,因为它可以更加轻松地确保您的XML具有良好结 构。

目前为止,我一直专注于通过 Internet 解析 XML。但是,有时您的应用程序可能需要将 XML 发送到远程服务器。显然,您可以只使用一个 StringBuilder 来创建 XML 字符串。另一种备选方法来自中的Pull 解析器。

使用pull 解析器编写XML

private String writeXml(List<Message> messages){

XmlSerializer serializer = Xml.newSerializer();

StringWriter writer = new StringWriter();

try {

serializer.setOutput(writer);

serializer.startDocument("UTF-8", true);

serializer.startTag("", "messages");

serializer.attribute("", "number", String.valueOf(messages.size()));

for (Message msg: messages){

serializer.startTag("", "message");

serializer.attribute("", "date", msg.getDate());

serializer.startTag("", "title");

serializer.text(msg.getTitle());

serializer.endTag("", "title");

serializer.startTag("", "url");

serializer.text(msg.getLink().toExternalForm());

serializer.endTag("", "url");

serializer.startTag("", "body");

serializer.text(msg.getDescription());

serializer.endTag("", "body");

serializer.endTag("", "message");

}

serializer.endTag("", "messages");

serializer.endDocument();

return writer.toString();

} catch (Exception e) {

throw new RuntimeException(e);

}

}

XmlSerializer 类是前一部分所使用的 XmlPullParser包的一部分。它没有提取事件,而是将它们推出到数据流或编写程序中。在本例中,它仅仅将事件推送到了一个 java.io.StringWriter 实例中。它提供了一个直观的 API,通过各种方法开始和结束文档、处理元素以及添加文本或属性。这是 StringBuilder 的一种出色的替换方案,因为它可以更加轻松地确保您的 XML 具有良好结构

赞助本站

人工智能实验室

相关热词: XML pull 解析器

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港