2012-06-20 3 views
-5
 I Want To Parse XML simply using any Parsing Method ,I Have a XML with following format, Please give me help urgently, 

ниже мой образец XML я попытался его с помощью DOM Parser, но я не получить последовательность ,,Как анализировать XML с несколькими узлами?

<Main> 
     <name> 
      <firstname>ABC</firstname> 
      <lastname>XYZ</lastname> 
    </name> 
    <address> 
     <homeaddress> 
       <pobox>PQR</pobox> 
       <city>MNQ</city> 
     </homeaddress> 
     <officeaddress>  
       <pobox>JKL</pobox> 
       <city>URI</city> 
      </officeaddress> 
    </address> 
    <Main> 
+6

Мы не здесь, чтобы работать для вас (если вы не платите нам ...). Покажите некоторое усилие, тогда, когда у вас есть конкретная проблема, придите и задайте вопрос правильно. – Th0rndike

+0

спасибо ThOrndike за предоставленную мне бесплатную консультацию. – Avinash

+0

@ Авинаш первый хит google, если он не заблокирован для u. Эта ссылка может помочь u.http: //www.androidhive.info/2011/11/android-xml-parsing-tutorial/ – vrs

ответ

1

Я показываю вам путь я разобранный мои данные ... надежда вы можете использовать .

allClientParser.java

import java.io.IOException; 
import java.io.StringReader; 

import javax.xml.parsers.DocumentBuilder; 
import javax.xml.parsers.DocumentBuilderFactory; 
import javax.xml.parsers.ParserConfigurationException; 

import org.w3c.dom.Document; 
import org.w3c.dom.Element; 
import org.w3c.dom.Node; 
import org.w3c.dom.NodeList; 
import org.xml.sax.InputSource; 
import org.xml.sax.SAXException; 

public class allClientParser { 

    public Client parseByDOM(String response) 
      throws ParserConfigurationException, SAXException, IOException { 

     Client c = new Client(); 

     try { 

      DocumentBuilderFactory dbFactory = DocumentBuilderFactory 
        .newInstance(); 
      DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 

      Document doc = dBuilder.parse(new InputSource(new StringReader(
        response))); 
      doc.getDocumentElement().normalize(); 
      NodeList nList = doc.getElementsByTagName("row"); 

      c.length = nList.getLength(); 
      for (int temp = 0; temp < nList.getLength(); temp++) { 
       Node nNode = nList.item(temp); 

       if (nNode.getNodeType() == Node.ELEMENT_NODE) { 
        Element eElement = (Element) nNode; 
        c.clientdata[temp][1] = getTagValue("client_id", eElement); 
        c.clientdata[temp][2] = getTagValue("name", eElement); 
       } 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

     return c; 
    } 

    private static String getTagValue(String sTag, Element eElement) { 
     NodeList nlList = eElement.getElementsByTagName(sTag).item(0) 
       .getChildNodes(); 

     Node nValue = (Node) nlList.item(0); 

     return nValue.getNodeValue(); 
    } 
} 

Client.java

public class Client { 

    public int length; 
    public String clientdata[][] = new String[500][500]; 
} 

Теперь из основного метода мы просто должны называть его, передавая ваши XML в виде строки, как это ::

Client abc; 
allClientParser cl=new allClientParser(); 
abc=cl.parseByDOM(pass your xml as String here); 

Теперь вы можете получить доступ к данным, как это ::

String name=abc.clientdata[x][y]; 
+1

Ок ... @ JoxTraex ... но мне показалось, что здесь был новичок к XML Parsing..So было бы легко для него undersatand .. :( –

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