我不熟悉用 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/