2013-08-16 2 views
0

Я получил этот конкретный файл XML, это выглядит следующим образом:XML - Понимание трудности разбор XML с помощью JDOM

<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-метод дает мне этот выход: App01_Storage [[Атрибут: Тип = "ЛЕТУЧАЯ"], [Атрибут: Размер = "200000"], [Атрибут: Скорость = "15" ], [Attribute: LatencyMaxWrite = "1"], [Attribute: LatencyMaxRead = "2"], [Attribute: Endurance = "12"], [Attribute: WorkloadPeak = "15"]]

Я думаю, я на правильном пути. Согласно моему пониманию, один атрибут должен выглядеть так: Attribute.Name = Attribute.Value

Я хочу сохранить атрибуты плюс значения в другом классе и не знаю, как я точно могу получить значения плюс имя separetaly. Выход, который я получаю прямо сейчас, представляет собой Список с каждой записью Attributename = Attributevalue, как и одна строка. С этой единственной Строкой я не могу работать.

Я вижу что-то не так? Надеюсь, я мог бы объяснить. Большое спасибо :)

ответ

2

node.getAttributes() дает вам список атрибутов, которые вы можете повторить снова. Вывод, который вы видите, является результатом списков toString() метода, который вызывается, когда вы передаете его System.out.println().

ли что-то вроде этого:

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

Есть также другие Get-методы, которые уже возвращающие определенный тип (например, getIntValue()). Посмотрите на Attribute documentation