XML - 理解使用JDOM解析XML的困难

时间:2013-08-16 10:56:02

标签: xml xml-parsing jdom

我有这个特殊的XML文件,它看起来像这样:

<App01_Storage Type="VOLATILE" Size="200000" Speed="15" LatencyMaxWrite="1" LatencyMaxRead="2" Endurance="12" WorkloadPeak="15" />

在我的程序中,我遍历根节点的所有子节点。我的目的是让所有孩子都拥有他们的属性+值。一个孩子看起来像上面的代码。

System.out.println(node.getName());
System.out.println(node.getAttributes());

System.Out-Method为我提供了以下输出:     App01_Storage [[Attribute:Type =“VOLATILE”],[Attribute:Size =“200000”],[Attribute:Speed =“15”],[Attribute:LatencyMaxWrite =“1”],[Attribute:LatencyMaxRead =“2”] ,[属性:Endurance =“12”],[属性:WorkloadPeak =“15”]]

我想我的方式正确。根据我的理解,一个属性应该如下:Attribute.Name = Attribute.Value

我想将属性和值保存在不同的类中,并且不知道我是如何确切地获取值加上名称的separetaly。我现在得到的输出是一个List,每个条目的Attributename = Attributevalue,就像一个String。使用这个单一的字符串,我无法工作。

我看到了什么问题吗?希望我能解释一下自己。非常感谢:)

1 个答案:

答案 0 :(得分:2)

node.getAttributes()为您提供了可以重复迭代的属性列表。您看到的输出只是列表toString()方法的结果,当您将其移交给System.out.println()时会调用该方法。

做这样的事情:

for(Attribute attribute : node.getAttributes()) {
    String attributeName = attribute.getName();
    String value = attribute.getValue();
}

还有其他已经返回特定类型的get方法(如getIntValue())。查看Attribute documentation