解析XML文件使用Java进行 - 基于Android的应用程序(parsing xml file

2019-09-24 01:04发布

我是新来在Java解析XML文件。 我如何从属性和值位于从标签,但在我的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解析百分比值。 如果有人知道如何解析值,恳求引导我?

Answer 1:

有几种可能做到这一点。

您可以使用例如simplexml的框架。

对于您可以尝试创建一些类,它可以帮助你解决这个问题。

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() {
   }

}

李类别:

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



Answer 2:

对于XML解析,你必须在Android的几种选择,DOM解析器,拉解析器等速度更快,建议报告一个是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

这里是关于Android的XML解析一个通用教程

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



文章来源: parsing xml file using java for — android based application