Android中XML資源文件的基本操做

這裏說的XML資源文件是放在res/xml裏的xml文件。內容爲開發者本身定義的。html

最簡單的方式java

使用Context的實例方法context.getResources().getXml(R.xml.id)能夠得到該文件的XmlResourceParser,即分析器。android

下邊是一個示例app

<?xml version="1.0" encoding="utf-8"?>
<list>
    <mans>
        <man name="one" />
        <man name="two" />
        <man name="three" />
    </mans>
    <mans>
        <man name="123" />
        <man name="456" />
        <man name="789" />
    </mans>
</list>

使用以下方法能夠大概的看一看android是如何操做xml文件的this

XmlResourceParser parser = this.getResources().getXml(R.xml.test);
StringBuffer buffer = new StringBuffer();
try {
	int eventType = parser.getEventType();
	while (eventType != XmlPullParser.END_DOCUMENT) {
		if (eventType == XmlPullParser.START_TAG) {
			buffer.append(parser.getName());
			buffer.append('\n');
			// buffer.append(parser.getAttributeCount());
			int ac = parser.getAttributeCount();
			if (ac > 0) {
				buffer.append(parser.getAttributeName(0));
				buffer.append(" = ");
				buffer.append(parser.getAttributeValue(0));
				buffer.append('\n');
			}
		}
		eventType = parser.next();
	}
} catch (XmlPullParserException e) {
	e.printStackTrace();
} catch (IOException e) {
	e.printStackTrace();
}
textView.setText(buffer);
parser.close();

XmlResourceParser實現了XmlPullParser接口,便可以看成XmlPullParser使用。code

咱們能夠經過getEventType方法獲取當前XmlPullParser分析到的標記(多是文本,特殊符合,或者文件結束什麼的),並使用常量(如XmlPullParser.END_DOCUMENT,這是文件結束事件類型)來判斷當前標記是何種類型。orm

分析完該標記後開開眼使用next方法移動到下一個標記。xml

相關文章
相關標籤/搜索