2013-12-17 3 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> 

Я могу извлечь значения контактные данные, такие как идентификатор, имя и т.д. Моя проблема заключается в том, как получить значение учетной записи электронной почты учетной записи электронной почты = «[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");, но она возвращается письмо от контакта а не е mail внутри счет.

ответ

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 в основном строку, так что вы можете разобрать его самостоятельно вручную с помощью объекта сканера, или вы можете unmarshaller, чтобы превратить его в объект и получить его поля данных

0
NodeList accounts = getElementsByTagName("account"); 
for (int j = 0; j < accounts.getLength(); j++) { 
    accounts.item(j).getAttributes().getNamedItem("email"); 
} 
Смежные вопросы