java - 使用 java 解析 xml 文件——基于 android 的应用程序

标签 java android xml xml-parsing

我不熟悉用 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 中解析百分比值。如果有人知道如何解析值,请指导我?

最佳答案

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

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

关于java - 使用 java 解析 xml 文件——基于 android 的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12855391/

相关文章:

java - JfileChooser 不会显示在 Jpanel 中选择的图像

java - 为什么 JSF 2(PrimeFaces) A​​jax Property Listener 没有触发?

java - 在 Java 中使用 XPath 和命名空间解析 XML

java - 快速移动物体的碰撞检测

java - Gradle 构建失败,出现 java.lang.IllegalStateException : Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $

xml - 为什么 IXMLNode.IsTextElement 不为 CDATA 元素返回 True?

sql - 为 sp_xml_preparedocument 配置 namespace

java - 我们可以更改 Maven 默认目录 (.m2) 名称吗?

java - 如何 : Eclipe maven project, 希望 src 中的 Maven 依赖项 jar 作为 .java 文件进行编辑

android - onReceive - 从未在短信应用程序中调用