2011-07-04 82 views
-1

從鏈接XML我從該鏈接的鏈接:從這個鏈接數據存儲在Android的

http://api.maxxiscentral.com/maxxiscentral/GetTyrePatterns

我想趕數據串,並從該字符串我想創建的XML文件。

package com.androidpeople.xml.parsing; 

import java.net.URL; 
import javax.xml.parsers.SAXParser; 
import javax.xml.parsers.SAXParserFactory; 
import org.xml.sax.InputSource; 
import org.xml.sax.XMLReader; 
import android.app.Activity; 
import android.os.Bundle; 
import android.widget.LinearLayout; 
import android.widget.TextView; 

public class XMLParsingExample extends Activity { 

    /** Create Object For SiteList Class */ 
    SitesList sitesList = null; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     /** Create a new layout to display the view */ 
     LinearLayout layout = new LinearLayout(this); 
     layout.setOrientation(1); 

     /** Create a new textview array to display the results */ 
     TextView name[]; 
     TextView website[]; 
     TextView category[]; 

     try { 

      /** Handling XML */ 
      SAXParserFactory spf = SAXParserFactory.newInstance(); 
      SAXParser sp = spf.newSAXParser(); 
      XMLReader xr = sp.getXMLReader(); 

      /** Send URL to parse XML Tags */ 
      URL sourceUrl = new URL(
        "http://api.maxxiscentral.com/maxxiscentral/GetTyrePatterns"); 

      /** Create handler to handle XML Tags (extends DefaultHandler) */ 
      MyXMLHandler myXMLHandler = new MyXMLHandler(); 
      xr.setContentHandler(myXMLHandler); 
      xr.parse(new InputSource(sourceUrl.openStream())); 

     } catch (Exception e) { 
      System.out.println("XML Pasing Excpetion = " + e); 
     } 

     /** Get result from MyXMLHandler SitlesList Object */ 
     sitesList = MyXMLHandler.sitesList; 

     /** Assign textview array lenght by arraylist size */ 
     name = new TextView[sitesList.getName().size()]; 
     website = new TextView[sitesList.getName().size()]; 
     category = new TextView[sitesList.getName().size()]; 

     /** Set the result text in textview and add it to layout */ 
     for (int i = 0; i < sitesList.getName().size(); i++) { 
      name[i] = new TextView(this); 
      name[i].setText("Name = "+sitesList.getName().get(i)); 
      website[i] = new TextView(this); 
      website[i].setText("Website = "+sitesList.getWebsite().get(i)); 
      category[i] = new TextView(this); 
      category[i].setText("Website Category = "+sitesList.getCategory().get(i)); 

      layout.addView(name[i]); 
      layout.addView(website[i]); 
      layout.addView(category[i]); 
     } 


     /** Set the layout view to display */ 
     setContentView(layout); 

    } 
} 

我有這樣的代碼字符串轉換成XML,但是,在Java

這個代碼運行而不是在android系統。爲什麼?

以及如何從該鏈接獲取數據。

感謝先進。

+0

爲什麼你不使用SAX解析器? –

+0

還有一件事是你提取的合成文件是完全錯誤的 –

+0

確定比什麼是正確的,你能給我一個例子嗎? – Siten

回答