本文へスキップ

Android XML Parsing Tutorial – Using DOMParser

MintState 2011年6月7日 22:23 閲覧 12661

Android XML Parsing Tutorial – Using DOMParser

XML 파싱예제입니다. DOM파서를 이용한 방법입니다.

[ATTACH]714[/ATTACH]

XML

<?xml version="1.0"?>
<maintag>
   <item>
	<name>AndroidPeople</name>
	<website category="android">www.androidpeople.com</website>
	</item>
	<item>
	<name>iPhoneAppDeveloper</name>
	<website category="iPhone">www.iphone-app-developer.com</website>
	</item>
</maintag>

Main Java

public class XMLParsingDOMExample extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
		/** 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 {

			URL url = new URL("http://www.androidpeople.com/wp-content/uploads/2010/06/example.xml");
			DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
			DocumentBuilder db = dbf.newDocumentBuilder();
			Document doc = db.parse(new InputSource(url.openStream()));
			doc.getDocumentElement().normalize();

			NodeList nodeList = doc.getElementsByTagName("item");

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

			for (int i = 0; i < nodeList.getLength(); i++) {

				Node node = nodeList.item(i);

				name[i] = new TextView(this);
				website[i] = new TextView(this);
				category[i] = new TextView(this);

				Element fstElmnt = (Element) node;
				NodeList nameList = fstElmnt.getElementsByTagName("name");
				Element nameElement = (Element) nameList.item(0);
				nameList = nameElement.getChildNodes();
				name[i].setText("Name = "
						+ ((Node) nameList.item(0)).getNodeValue());

				NodeList websiteList = fstElmnt.getElementsByTagName("website");
				Element websiteElement = (Element) websiteList.item(0);
				websiteList = websiteElement.getChildNodes();
				website[i].setText("Website = "
						+ ((Node) websiteList.item(0)).getNodeValue());

				category[i].setText("Website Category = "
						+ websiteElement.getAttribute("category"));

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

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

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

URL : http://www.androidpeople.com/android-xml-parsing-tutorial-%E2%80%93-using-domparser

添付ファイル

共有 X Facebook LINE QR コード

コメント 0 件

最初のコメントを書いてみましょう。