XML or text declaration not at start of entity异常的原因
今天在做XML解析的时候,总是给我报
XML Parsing Error: XML or text declaration not at start of entity?
的错误,后来查了下讲大概意思是android中解析的时候xml文件格式问题。
?
在文件的最前端 即<?xml version="1.0" encoding="UTF-8"?>前面不能有空格。
?
修改即好。
?
xml
<?xml version="1.0" encoding="UTF-8" ?> - <msg> <name>nico</name> <des>male</des> </msg>
?
ParserUtil
package com.nico;import java.io.InputStream;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserException;import android.util.Xml;public class ParserUtil {private String myDes = " ";public String getDes(InputStream is){XmlPullParser parser = Xml.newPullParser();try {parser.setInput(is, "utf-8");int event = parser.getEventType();while(event!=XmlPullParser.END_DOCUMENT){switch(event){case XmlPullParser.START_TAG:String name = parser.getName();System.out.println("--------456---------->"+name);if("des".equals(name)){myDes = parser.nextText();return myDes;}break;}event = parser.next();}} catch (Exception e) {e.printStackTrace();}return myDes;}}?
TestActivity
package com.nico;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import android.app.Activity;import android.os.Bundle;import android.os.Handler;public class Test extends Activity {Handler mhandler = new Handler();/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mhandler.post(new Runnable() {@Overridepublic void run() {URL url;try {url = new URL("http://10.0.0.130:8080/msg.xml");HttpURLConnection conn = (HttpURLConnection) url.openConnection();InputStream is = conn.getInputStream();ParserUtil util = new ParserUtil();String ss = util.getDes(is);System.out.println("-------123---------->" + ss);} catch (Exception e) {e.printStackTrace();}}});}}?