2013-12-17 20 views
0

我想解析格式的XML字符串:安卓:從XML文件中獲取數據

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><account email="[email protected]"><contacts><contact><id>0</id><nickname></nickname><firstname></firstname><lastname></lastname><[email protected]</email><passcode>p</passcode><creationdate>16 Dec 2013 17:40:58</creationdate><status>T</status></contact></contacts></account> 

我能夠提取值的聯繫人數據如ID,暱稱等 我的問題是如何獲得賬號的電子郵件帳戶的電子郵件的價值=「[email protected]

的代碼片段是

NodeList account = doc.getElementsByTagName(Constants.ACCOUNTS_TAG); 

     NodeList responseList = doc.getElementsByTagName("contact"); 

     for(int i =0 ;i < responseList.getLength();i++){ 
          parser.getValue(response, Constants.EMAIL_TAG) 
     } 

我試圖acct_email= parser.getValue((Element) account.item(0), "email");但它是從沒有接觸電子返回的電子郵件帳戶內的郵件。

回答

1
NodeList nList = doc.getElementsByTagName("account"); 

for (int temp = 0; temp < nList.getLength(); temp++) { 

     Node nNode = nList.item(temp); 

     System.out.println("\nCurrent Element :" + nNode.getNodeName()); 

     if (nNode.getNodeType() == Node.ELEMENT_NODE) { 

      Element eElement = (Element) nNode; 

      System.out.println("email id : " + eElement.getAttribute("email")); 
      } 
    } 
0

的xml文件基本上是一個字符串,所以你可以自己手動掃描儀的對象解析它,或者你可以解組把它變成一個對象並獲取其數據字段

0
NodeList accounts = getElementsByTagName("account"); 
for (int j = 0; j < accounts.getLength(); j++) { 
    accounts.item(j).getAttributes().getNamedItem("email"); 
}