2012-06-28 60 views
2

屬性我有類似這樣解析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> 

我要分析此,並存儲爲字符串像廠商ID,AuthApplId等我的applicationID解析與getElementsByTagName("ApplicationID")如果它是一個XML <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

在NodeList接口中沒有這樣的方法getItem() – didxga

+1

@didxga:你說得對。它被稱爲'item()'。 – user278064

+0

applicationIdChildren.getItem(0).getAttribute(「value」)。value(); getAttribute - 方法也不存在 - 請解釋一下 –