当前位置: 首页 > 科技观察

Android创建XML

时间:2023-03-13 01:35:38 科技观察

到目前为止,我一直专注于通过Internet解析XML。但是,有时您的应用程序可能需要将XML发送到远程服务器。显然,您可以只使用StringBuilder来创建XML字符串。另一种选择来自.使用拉解析器编写XMLprivateStringwriteXml(Listmessages){XmlSerializerserializer=Xml.newSerializer();StringWriterwriter=newStringWriter();try{serializer.setOutput(writer);serializer.startDocument("UTF-8",true);serializer.startTag("","messages");serializer.attribute("","number",String.valueOf(messages.size()));for(Messagemsg:messages){serializer.startTag("","消息");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();returnwriter.toString();}catch(Exceptione){thrownewRuntimeException(e);}}XmlSerializer类是前使用的XmlPullParser包的一部分不会提取事件,而是将它们推送到数据流或程序中。在这种情况下,它只是将事件推送到java.io.StringWriter实例。它提供了一个直观的API,其中包含用于开始和结束文档、操作元素以及添加文本或属性的各种方法。这是StringBuilder的绝佳替代品,因为它可以更轻松地确保您的XML格式正确。