2011-03-11 88 views
0

伙计们,我想解析一个由HTTPPost方法服务获得的android中的xml。我将该xml存储在一个字符串变量中,但我不知道如何解析它。因为它是一个字符串格式。任何人可以给这个例子代码? .............如何用http post服务解析xml

回答

0
private RSSFeed getFeed(String urlToRssFeed) 
{ 
    try 
    { 
     // setup the url 
     URL url = new URL(urlToRssFeed); 

     // create the factory 
     SAXParserFactory factory = SAXParserFactory.newInstance(); 
     // create a parser 
     SAXParser parser = factory.newSAXParser(); 

     // create the reader (scanner) 
     XMLReader xmlreader = parser.getXMLReader(); 
     // instantiate our handler 
     RSSHandler theRssHandler = new RSSHandler(); 
     // assign our handler 
     xmlreader.setContentHandler(theRssHandler); 
     // get our data via the url class 
     InputSource is = new InputSource(url.openStream()); 
     // perform the synchronous parse   
     xmlreader.parse(is); 
     // get the results - should be a fully populated RSSFeed instance, or null on error 
     return theRssHandler.getFeed(); 
    } 
    catch (Exception ee) 
    { 
     // if we have a problem, simply return null 
     return null; 
    } 
} 

RSSHandler:类utiliser到分析仪在XML文件的

0
DBF = DocumentBuilderFactory.newInstance(); 
DB = DBF.newDocumentBuilder(); 
url_val = new URL("YOUR LINK"); 
dom = DB.parse(url_val.openConnection().getInputStream()); 
elt = dom.getDocumentElement(); 
NodeList items = elt.getElementsByTagName("YOUR Root Node"); 
for (int i = 0; i < items.getLength(); i++) { 
    Node item = items.item(i); 
    NodeList properties = item.getChildNodes(); 
    for (int j = 0; j < properties.getLength(); j++) { 
    Node property = properties.item(j); 
    String name = property.getNodeName(); 
     if (name.equalsIgnoreCase("Tag Name")) { 
     cityTitle =  property.getFirstChild().getNodeValue();       }} 

内容试试这个方法来解析您的XML。