如何解析XML包装JSON
我只是想知道如何解析服务器的以下响应。我只是想从XML中获得JSON。因为我知道如何解析JSON响应所以,有人请指导我如何得到这个。如何解析XML包装JSON
我看过this链接为xml解析,但我不知道如何专门解析这个(基础给定的响应)。该回应如下
<string xmlns="http://tempuri.org/">
[{"OSID":"2","PhoneVersion":"IPHONE5","PhoneOS":"IOS","ImageName":"[email protected]","ImageID":"3"},{"OSID":"2","PhoneVersion":"IPHONE5","PhoneOS":"IOS","ImageName":"[email protected]","ImageID":"4"},{"OSID":"2","PhoneVersion":"IPHONE5","PhoneOS":"IOS","ImageName":"[email protected]","ImageID":"5"},{"OSID":"2","PhoneVersion":"IPHONE5","PhoneOS":"IOS","ImageName":"[email protected]","ImageID":"6"},{"OSID":"2","PhoneVersion":"IPHONE5","PhoneOS":"IOS","ImageName":"[email protected]","ImageID":"7"},{"OSID":"2","PhoneVersion":"IPHONE5","PhoneOS":"IOS","ImageName":"[email protected]","ImageID":"8"},{"OSID":"2","PhoneVersion":"IPHONE5","PhoneOS":"IOS","ImageName":"[email protected]","ImageID":"9"},{"OSID":"2","PhoneVersion":"IPHONE5","PhoneOS":"IOS","ImageName":"[email protected]","ImageID":"10"},{"OSID":"2","PhoneVersion":"IPHONE5","PhoneOS":"IOS","ImageName":"[email protected]","ImageID":"11"},{"OSID":"2","PhoneVersion":"IPHONE5","PhoneOS":"IOS","ImageName":"[email protected]","ImageID":"12"}]
</string>
你可以看到它在
<string xmlns="http://tempuri.org/">
我只是想知道如何分析这种类型respne的whcih是的Json我可以做解析响应的其余部分我的自我。请只是帮助我该怎么办呢
这应该工作,我没有测试它尚未
import android.util.Xml;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import java.io.InputStream;
public class StringXmlParser {
// your xml doesn't have any name spacing so make it null.
private static final String ns = null;
public String parse(InputStream in) throws XmlPullParserException, IOException {
try {
XmlPullParser parser = Xml.newPullParser();
parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
parser.setInput(in,null);
parser.nextTag();
return readString(parser);
} finally {
in.close();
}
}
private String readString(XmlPullParser parser) throws XmlPullParserException, IOException {
parser.require(XmlPullParser.START_TAG, ns, "string");
String jsonString = readText(parser);
parser.require(XmlPullParser.END_TAG, ns, "string");
return jsonString;
}
private String readText(XmlPullParser parser) throws IOException, XmlPullParserException {
String result = "";
if (parser.next() == XmlPullParser.TEXT) {
result = parser.getText();
parser.nextTag();
}
return result;
}
}
这是你如何使用它
StringXmlParser xmlParser = new StringXmlParser();
String jsonString;
try {
// You need to get the input stream for the xml.
jsonString = xmlParser.parse(inputStream);
} finally {
if(inputStream != null) {
inputStream.close();
}
}
让我试试............ –
它解析xml后返回字符串? –
解析函数返回你的字符串,第二段代码中的'jsonString'变量保存你的json,一般来说解析函数应该返回java对象中xml的根元素内部的任何东西,因为你的根元素是一个json字符串,返回字符串 – Bhargav
看看这个【答案】(HTTP ://*.com/a/1823328/5333674) – yvzzztrk
是不是还有其他的东西,容易吗?其实我是一个初学者,我真的不明白你的附加链接发生了什么, –
没有任何方式来删除开始XML开始标记和结束XML标记,并获得JSON只? –