парсер 2.1 и 2.2 - PullRequest
       2

парсер 2.1 и 2.2

0 голосов
/ 31 декабря 2010

я использую следующий код для извлечения текста XML-элемента, используя getElementsByTagName

этот код успешно в 2.2 и не удалось в 2.1

есть идеи?

URL metafeedUrl = new URL("http://x..../Y.xml")
URLConnection connection ;     
connection= metafeedUrl.openConnection();

HttpURLConnection  httpConnection = (HttpURLConnection)connection ;        
int resposnseCode= httpConnection.getResponseCode() ;

if (resposnseCode == HttpURLConnection.HTTP_OK) {

InputStream in = httpConnection.getInputStream();

DocumentBuilderFactory dbf ;
dbf = DocumentBuilderFactory.newInstance();

DocumentBuilder db = dbf.newDocumentBuilder();


// Parse the Earthquakes entry 
Document dom = db.parse(in);
Element docEle = dom.getDocumentElement();

//ArrayList<Album> Albums = new ArrayList<Album>();


/* Returns a NodeList of all descendant Elements with a given tag name, in document order.*/

NodeList nl = docEle.getElementsByTagName("entry");

if (nl!=null && nl.getLength() > 0) {        
   for (int i = 0; i < nl.getLength(); i++) {

Element entry = (Element)nl.item(i);

/* Now on every property in Entry **/

Element title =(Element)entry.getElementsByTagName("title").item(0);          

*Here i Get an Error*
String album_Title = title.getTextContent();

Element id =(Element)entry.getElementsByTagName("id").item(0);         
String album_id = id.getTextContent(); // 

1 Ответ

4 голосов
/ 11 января 2011

getTextContent () не поддерживается в API 7 (Android 2.1).Это было введено в API 8 (2.2).

Предполагая предсказуемый результат от сервера, вы можете использовать следующий код:

Node n = aNodeList.item(i);

String strValue = n.getFirstChild().getNodeValue();

// as opposed to the String strValue = n.getTextContent();

Если элемент может быть пустым, то вы хотите проверитьсначала считайте ребенка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...