2012-02-27 15 views
10

मैं xml फ़ाइल जो की तरह लग रहा पढ़ना चाहते हैं में एक्सएमएल फ़ाइल को पढ़ने के लिए निम्नलिखित ... मैंकैसे एंड्रॉयड

<ImageList SpriteSheetName="hh_gmw01"> 
    <Image Name="gmw01"  x="0" y="0" width="1047" height="752"/> 
    <Image Name="hht1l01" x="388" y="269" width="34" height="36"/> 
    <Image Name="hht1l02" x="147" y="99" width="85" height="33"/> 
</ImageList> 

मैं इन मूल्यों को कैसे मिलता है के साथ संपत्ति फ़ोल्डर में संग्रहीत किया है?

+0

http://www.google.co.in/#hl=hi&output=search&sclient=psy-ab&q=java+read+xml+file&pbx=1&oq=java+read+xml+file&aq=f&aqi=&aql=&gs_sm= 3 और gs_upl = 999l5493l0l5744l18l14l0l0l0l0l0l0ll0l0 और bav = on.2, or.r_gc.r_pw.r_cp.r_qf।, Cf.osb और fp = f56754703660b899 और biw = 1353 और bih = 1070 –

उत्तर

5

इस आजमाएं:

import java.io.IOException; 
import java.io.InputStream; 

import android.app.Activity; 
import android.content.res.AssetManager; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.TextView; 

public class Main extends Activity { 

Button btn; 
TextView tvXml; 

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

    Button btn = (Button) findViewById(R.id.button1); 

    btn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // Load XML for parsing. 
      AssetManager assetManager = getAssets(); 
      InputStream inputStream = null; 
      try { 
       inputStream = assetManager.open("textxml.xml"); 
      } catch (IOException e) { 
       Log.e("tag", e.getMessage()); 
      } 

      String s = readTextFile(inputStream); 
      TextView tv = (TextView)findViewById(R.id.textView1); 
      tv.setText(s); 
     } 
    }); 
} 


private String readTextFile(InputStream inputStream) { 
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); 

    byte buf[] = new byte[1024]; 
    int len; 
    try { 
     while ((len = inputStream.read(buf)) != -1) { 
      outputStream.write(buf, 0, len); 
     } 
     outputStream.close(); 
     inputStream.close(); 
    } catch (IOException e) { 

    } 
    return outputStream.toString(); 
} 
} 
2

वहाँ एंड्रॉयड में एक एक्सएमएल पढ़ने के लिए कई तरीके है। के बाद से एक API संस्करण प्रतिबंध का निर्माण नहीं करतीं (एपीआई स्तर 1 के बाद से उपलब्ध है) मेरा पहला विकल्प DocumentBuilder है।

अपनी परियोजनाओं में से एक से एक उदाहरण:

public Document parseXML(InputSource source) { 
    try { 
     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
     dbf.setNamespaceAware(false); 
     dbf.setValidating(false); 
     DocumentBuilder db = dbf.newDocumentBuilder(); 
     return db.parse(source); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return null; 
    } 
} 

कैसे, आप फ़ाइल पढ़ सकते हैं और इस के बाद दस्तावेज़ मानों तक पहुंच कर अच्छी तरह से, अपनी सुंदर बुनियादी, बस इसे गूगल।

+0

सहायता के लिए धन्यवाद – user1169079

2

का उपयोग करके आप मदद कर सकते हैं की कोशिश उपयोग डोम पार्सर के साथ शुरू करने के लिए। चूंकि इसका बहुत कम कोड है, और इसका पालन करना आसान है। SAX पार्सर के साथ शुरू करने के लिए बस बहुत अधिक कोड है। लोग तर्क देंगे कि SAX तेज है, हां यह है, लेकिन डोम आसान, कम कोड और कम बग है।

यदि आपको SAX में जाना होगा, तो पहले डीओएम का उपयोग करते समय अपने प्रतिक्रिया समय को मापें, और केवल अगर पार्सिंग आपको सबसे अधिक दर्द दे रही है, तो SAX पर जाएं। अन्यथा डोम एक अद्भुत काम करता है।

-1

Xamarin.Android (क्रॉस प्लेटफार्म) के लिए यह प्रयास

आप निर्माण कार्रवाई "AndroidAsset" वाली संपत्तियां फ़ोल्डर में xml फ़ाइल को स्टोर करने की जरूरत है।

using System; 
using System.Xml; 
using System.IO; 

कोड स्निपेट xml फ़ाइल

XmlDocument xDoc = new XmlDocument(); 
Stream xmlStream = Assets.Open("textxml.xml"); 
xDoc.Load(xmlStream); 

XmlDocument वर्ग को लागू करता है .नेट फ्रेमवर्क के लिए कोर एक्सएमएल दस्तावेज़ ऑब्जेक्ट मॉडल (डोम) पार्सर पढ़ने के लिए।