Как разобрать возврат XML из GET (в Android) - PullRequest
0 голосов
/ 13 июня 2011
url = new URL(url_str);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
InputStream stream = connection.getInputStream();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(stream);
doc.getDocumentElement().normalize();
Node node = doc.getElementsByTagName("baseName").item(0);
Log.d(TAG,">>>>"+node.getNodeValue());

Когда я пытаюсь использовать url_str в веб-браузере, он дает мне следующий XML.

<files>
<file>
<fileId>441190</fileId>
<license>4</license>
<path>images</path>
<originalSource>
http://www.flickr.com/photos/stevendepolo/5165129565/sizes/m/
</originalSource>
<owner>Steven Depolo</owner>
<baseName>photo_5165129565_0ca9b101b0_t.jpg</baseName>
</file>
</files>

Но для моего вывода "node.getNodeValue ()" он возвращает ноль. Но мне нужно получить строку между тегом baseName.

Ответы [ 2 ]

1 голос
/ 13 июня 2011

Попробуйте node.getTextContent ();вместо node.getNodeValue () это решило большинство проблем, связанных со значением узла.иногда значение узла не устанавливается, вместо этого устанавливается текстовое содержимое.

Надеюсь, это поможет.

0 голосов
/ 13 июня 2011

Вы проверили другие поля?Возвращает ли это значение для них?Пожалуйста, позвоните getNodeType() на вашем узле, что он возвращает?Попробуйте вместо этого использовать XPath.

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