在android中解析ISO8583 XML(使用android studio)

时间:2016-02-11 16:56:30

标签: android xml parsing iso8583 jpos

我有这个XML,我想在android(android studio)中解析。有人请帮忙。 AM真的卡在这里。

<?xml version="1.0" encoding="utf-8"?> 
<message> 
<isomsg direction="response">
<field id="0" value="ew8wqq"/>
<field id="2" value="kdlaka"/>
<field id="3" value="3388382"/>
<field id="4" value="9302"/>
<field id="7" value="02061212223721"/>
<field id="11" value="9029221"/>
<field id="12" value="38383"/>
<field id="24" value="0920202"/>
<field id="32" value="Texted"/>
<field id="37" value="10031503992006830"/>
<field id="41" value="93039292"/>
<field id="49" value="uehee"/>
<field id="56" value="938339939393"/>
<field id="68" value="Test: 5001115750001"/>
<field id="102" value="5001115750001"/>
<field id="27" value="001"/>
<field id="39" value="00"/>
<field id="48" value="Successful"/>
<field id="54" value="38288928383"/>
<field id="58" value="73838383"/>
</isomsg> 
</message>

我真的很感激。非常感谢

请在下面找到我用来从网络服务获取回复的代码

SoapObject request = new SoapObject("http://tempuri.org/", "PostRequest");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
PropertyInfo pi = new PropertyInfo();
pi.setName("IncomingXMLMessage");

pi.setValue(GenerateXML());

request.addProperty(pi);
envelope.setOutputSoapObject(request);

HttpTransportSE httpTransportSE = new HttpTransportSE("http://10.100.10.10:9000/IWalletService.asmx");
SoapObject response = null;
httpTransportSE.debug=true;             

httpTransportSE.call("http://tempuri.org/PostRequest", envelope);

response = (SoapObject)envelope.bodyIn;

int totalCount = response.getPropertyCount();
String resultString=httpTransportSE.responseDump;
Log.d("XML data ", resultString);

XmlPullParserFactory factory = XmlPullParserFactory
        .newInstance();
factory.setNamespaceAware(true);
XmlPullParser parser = factory.newPullParser();

String uResultString=resultString.replaceAll("&gt;", ">");

String uResultStringFinal=uResultString.replaceAll("&lt;","<");

parser.setInput(new StringReader(uResultStringFinal));

2 个答案:

答案 0 :(得分:2)

为了在Android中解析你的xml数据,你显然需要使用解析器。谷歌建议我自己发现的XmlPullParser非常有用。 Google还为此here提供了一些示例代码。在这里解释一切只会与这个完全相同的问题的其他答案重复。如果Google的代码不够,您可以在网上搜索其他一些教程!

答案 1 :(得分:0)

这是嵌套在<message></message>中的JPOS响应XML,而不是SOAP XML,

了解JPOS如何解析:https://github.com/jpos/jPOS/blob/master/jpos/src/main/java/org/jpos/iso/packager/XMLPackager.java#L117