4

我是在 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 中解析百分比值。如果有人知道如何解析这些值,请指导我?

4

2 回答 2

3

有几种可能性可以做到这一点。

例如,您可以使用 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

于 2012-10-12T09:27:52.353 回答
2

对于 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

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

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

于 2012-10-12T08:53:03.860 回答