Разбор XML-файла с использованием приложения java for-android

Я новичок в разборе XML-файла в java. У меня есть некоторое представление о том, как анализировать значения из атрибутов и значений из тегов, но в моем XML значения находятся в другом месте:

<ul xml:base="http//www.example.com"> <li> <strong>Ram</strong> : 45% </li> <li> <strong>CPU</strong> : 49% </li> <li> <strong>Undecided</strong> : 6% </li> </ul> 

Это мой формат XML, здесь я хочу проанализировать процентные значения из XML. Если кто-нибудь знает, как разбирать ценности, просьбы направляют меня?

Solutions Collecting From Web of "Разбор XML-файла с использованием приложения java for-android"

Есть несколько возможностей сделать это.

Вы можете использовать, например, simplexml Framework.

Для этого вы можете попытаться создать несколько классов, которые помогут вам решить проблему.

Класс UL:

 import java.util.ArrayList; import java.util.List; import org.simpleframework.xml.ElementList; import org.simpleframework.xml.Root; @Root(name = "ul", strict = false) public class ULTag { @ElementList(name = "li", inline = true, required = false) List<LITag> liTags = new ArrayList<LITag>(); public List<LITag> getLiTags() { return liTags; } public void setLiTags(List<LITag> liTags) { this.liTags = liTags; } public ULTag() { } } 

Li Класс:

 import org.simpleframework.xml.Element; import org.simpleframework.xml.Root; @Root(name = "li", strict = false) public class LITag { @Element(name = "strong", required = false) private String strong; public LITag() { } public String getStrong() { return strong; } public void setStrong(String strong) { this.strong = strong; } } 

Вы также можете создать сильный класс, если хотите вставить в него больше вещей. Но здесь нам это не нужно.

 import org.simpleframework.xml.Element; import org.simpleframework.xml.Root; @Root(name = "strong", strict = false) public class StrongTag { @Element(name = "strong", required = false) private String strong; public StrongTag() { } public String getStrong() { return strong; } public void setStrong(String strong) { this.strong = strong; } } 

Удаление десериализации простого объекта

 Serializer serializer = new Persister(); File source = new File("yourxmlexampl.xml"); ULTag ulTag = serializer.read(ULTag.class, source); 

Сделайте то, что вы хотите с помощью ulTag. например:

 String percent=ulTag.getLITags().get(0).getStrong(); 

Может быть, это может вам помочь. Напиши мне написать. Это ссылка на структуру simplexml http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php

Для синтаксического анализа XML у вас есть несколько вариантов в Android, DOM-парсере, парсерах Pull и т. Д. Более быстрый и рекомендуемый – это XMLPullParser (см. http://developer.android.com/training/basics/network-ops/xml.html).

Я использую его, и он работает намного лучше, чем парсер DOM для больших данных.

Если у вас нет больших данных для синтаксического анализа, вы можете использовать парсер DOM.

Вот документация или XMLPullParser: http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html

И учебник о том, как его использовать: http://www.vogella.com/articles/AndroidXML/article.html

И вот общий учебник по разбору XML в Android

http://www.ibm.com/developerworks/opensource/library/x-android/