2012-06-28 3 views
2

У меня есть XML, подобное этомуСинтаксический XML атрибуты Java

<Applications> 
    <ApplicationID> 
    <VendorId value="0" /> 
    <AuthApplId value="4" /> 
    <AcctApplId value="0" /> 
    </ApplicationID> 
    <ApplicationID> 
    <VendorId value="193" /> 
    <AuthApplId value="0" /> 
    <AcctApplId value="19302" /> 
    </ApplicationID> 
</Applications> 

Я хочу, чтобы разобрать это и хранить в строки Как VendorID, AuthApplId и т.д. Я получил ApplicationID проанализирован с getElementsByTagName("ApplicationID") если это <ApplicationID value="somevalue"/> то я могу использование getAttribute("value") способ. но в вышеупомянутой ситуации, что мне делать?

ответ

2
NodeList applicationIDNodes = getElementsByTagName("ApplicationID"); 
for (int i = 0; i < applicationIDNodes.length; i++) { 
    Node applicationIDNode = applciationIdNodes.getItem(i); 
    NodeList applicationIdChildren = applicationIdNode.getChildren(); 

    String vendorId = applicationIdChildren.getItem(0).getAttribute("value").value(); 
    String authAppliId = applicationIdChildren.getItem(1).getAttribute("value").value(); 
    String actApplID = applicationIdChildren.getItem(2).getAttribute("value").value(); 

    // do whathever you want with vendorId, authAppliId, actApplID  
} 
+0

Нет такого метода getItem() в интерфейсе NodeList – didxga

+1

@didxga: вы правы. Он называется 'item()'. – user278064

+0

applicationIdChildren.getItem (0) .getAttribute ("value"). Value(); getAttribute - метода тоже нет - объясните, объясните –

Смежные вопросы