如何在Android应用程序使用XmlSerializer的一个xml [英] how to create an xml using xmlserializer in android app
本文介绍了如何在Android应用程序使用XmlSerializer的一个xml的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
喜想提出一个预订的应用程序,我需要创建XML后,将XML发送到服务器。
如何创建一个使用的XmlSerializer
的XML并将其创建后发送到服务器?
http://api.ean.com/ean-services/rs/hotel/v3/list?
minorRev = [当前minorRev#]
&安培; CID = 55505
&安培; apiKey = [XXX-yourOwnKey-XXX]
&安培; customerUserAgent = [XXX]放大器; customerIpAddress = [XXX]
&安培;区域设置= EN_US
&安培;货币code = USD
&安培; XML =
< HotelListRequest>
<城市>西雅图< /城市>
< stateProvince code> WA< / stateProvince code>
<国家code>美国和LT; /国家code>
< arrivalDate> 08/01/2012< / arrivalDate>
< departureDate> 08/03/2012< / departureDate>
< RoomGroup>
<房间及GT;
&所述; numberOfAdults→2&下; / numberOfAdults>
< /客房与GT;
< / RoomGroup>
&所述; numberOfResults→1&下; / numberOfResults>
< supplierCacheTolerance> MED_ENHANCED< / supplierCacheTolerance>
< / HotelListRequest>
解决方案
您需要为字符串输出创建作家。
@燮pressWarnings(空)
公共静态字符串CreateXMLString()抛出:IllegalArgumentException - ,IllegalStateException异常,IOException异常
{
XmlSerializer的XmlSerializer的= Xml.newSerializer();
StringWriter的作家=新的StringWriter(); xmlSerializer.setOutput(作家); //开始文档
xmlSerializer.startDocument(UTF-8,真);
xmlSerializer.setFeature(http://xmlpull.org/v1/doc/features.html#indent-output,真正的);
//打开标签<文件>
xmlSerializer.startTag(,文件); XmlSerializer的tempXml = Xml.newSerializer();
StringWriter的tempWriter =新的StringWriter();
xmlSerializer.startTag(,东西);
xmlSerializer.attribute(,标识,000001); xmlSerializer.startTag(,名);
xmlSerializer.text(CO);
xmlSerializer.endTag(,名); xmlSerializer.endTag(,东西); //结束标签<文件>
xmlSerializer.endTag(,文件);
xmlSerializer.endDocument(); 返回writer.toString();
}
和输出字符串是这样的:
< XML版本='1.0'编码='UTF-8'独立='是'&GT?;
<文件>
<东西ID =000001>
<名称>
CO
< /名称>
< /&东西GT;
< /文件>
但我不知道如何发送it.Maybe,你可以把这个字符串转换成字节。
Hi am making a booking app and i need to send an xml to the server after creating the xml.
How to create the xml using xmlserializer
and send it to a server after creating it?
http://api.ean.com/ean-services/rs/hotel/v3/list?
minorRev=[current minorRev #]
&cid=55505
&apiKey=[xxx-yourOwnKey-xxx]
&customerUserAgent=[xxx]&customerIpAddress=[xxx]
&locale=en_US
¤cyCode=USD
&xml=
<HotelListRequest>
<city>Seattle</city>
<stateProvinceCode>WA</stateProvinceCode>
<countryCode>US</countryCode>
<arrivalDate>08/01/2012</arrivalDate>
<departureDate>08/03/2012</departureDate>
<RoomGroup>
<Room>
<numberOfAdults>2</numberOfAdults>
</Room>
</RoomGroup>
<numberOfResults>1</numberOfResults>
<supplierCacheTolerance>MED_ENHANCED</supplierCacheTolerance>
</HotelListRequest>
解决方案
You need to create writer for string output.
@SuppressWarnings("null")
public static String CreateXMLString() throws IllegalArgumentException, IllegalStateException, IOException
{
XmlSerializer xmlSerializer = Xml.newSerializer();
StringWriter writer = new StringWriter();
xmlSerializer.setOutput(writer);
//Start Document
xmlSerializer.startDocument("UTF-8", true);
xmlSerializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
//Open Tag <file>
xmlSerializer.startTag("", "file");
XmlSerializer tempXml = Xml.newSerializer();
StringWriter tempWriter = new StringWriter();
xmlSerializer.startTag("", "something");
xmlSerializer.attribute("", "ID", "000001");
xmlSerializer.startTag("", "name");
xmlSerializer.text("CO");
xmlSerializer.endTag("", "name");
xmlSerializer.endTag("", "something");
//end tag <file>
xmlSerializer.endTag("", "file");
xmlSerializer.endDocument();
return writer.toString();
}
And the output string is like this:
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<file>
<something ID="000001">
<name>
CO
</name>
</something>
</file>
But i don't know how to send it.Maybe, you can convert this string into bytes.
这篇关于如何在Android应用程序使用XmlSerializer的一个xml的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文