我在服务器上有一个带有版本标记的XML文件。
我希望获得该版本并将其与我的应用版本进行比较,如果它们不相同则显示小吃吧。
但我不知道如何阅读XML文件PLZ帮助我。
这是服务器上的XML文件:
答案 0 :(得分:0)
首先,这不是一个XML,这是Json。
第二个:
JSONObject jsonObj = new JSONObject("YOUR STRING HERE");
你可以从对象中提取每个键所需的值,在你的情况下是版本。
答案 1 :(得分:0)
您可以使用HTTPURLConnection
请求xml内容,然后使用XmlPullParser
进行解析。下面是一个简单的例子。
new Thread(new Runnable() {
private static final String TAG_VERSION = "version";
@Override
public void run() {
try {
XmlPullParser pullParser = XmlPullParserFactory.newInstance().newPullParser();
URL url = new URL("http://adpring.com/uploads/faravani.xml");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.connect();
if (urlConnection.getResponseCode() != HttpURLConnection.HTTP_OK) {
Log.e(TAG, "run: http request error");
return;
}
pullParser.setInput(new InputStreamReader(urlConnection.getInputStream()));
int eventType = pullParser.getEventType();
String currentTag = null;
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_DOCUMENT) {
} else if(eventType == XmlPullParser.START_TAG) {
currentTag = pullParser.getName();
} else if(eventType == XmlPullParser.END_TAG) {
} else if(eventType == XmlPullParser.TEXT) {
if (currentTag != null && TAG_VERSION.equals(currentTag)) {
currentTag = null;
Log.d(TAG, "run: version string " + pullParser.getText().trim());
}
}
eventType = pullParser.next();
}
} catch (XmlPullParserException | IOException e) {
e.printStackTrace();
}
}
}).start();