简单的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="ready"
/>
</LinearLayout>
languages.xml:简单的一个xml文件
<?xml version="1.0" encoding="utf-8"?>
<Languages cat="it">
<lan id="1">
<name>Java</name>
<ide>Eclipe</ide>
</lan>
<lan id="2">
<name>Swift</name>
<ide>Xcode</ide>
</lan>
<lan id="3">
<name>c#</name>
<ide>Visual Studio</ide>
</lan>
</Languages>
读取xml文件的源代码:
package com.example.readassert;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import android.os.Bundle;
import android.renderscript.Element;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text=(TextView) findViewById(R.id.text);
try {
DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=builderFactory.newDocumentBuilder();
Document document=builder.parse(getAssets().open("languages.xml"));
org.w3c.dom.Element element=document.getDocumentElement();
NodeList list=element.getElementsByTagName("lan");
for(int i=0;i<list.getLength();++i){
org.w3c.dom.Element lan=(org.w3c.dom.Element) list.item(i);
text.append(lan.getAttribute("id")+"\n");
text.append(lan.getElementsByTagName("name").item(0).getTextContent()+"\n");
text.append(lan.getElementsByTagName("ide").item(0).getTextContent()+"\n");
}
注意:导包的时候,别整错了
} catch (ParserConfigurationException e) {
} catch (SAXException e) {
} catch (IOException e) {
}
}
}
package com.example.readassert;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import android.os.Bundle;
import android.renderscript.Element;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text=(TextView) findViewById(R.id.text);
try {
DocumentBuilderFactory builderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=builderFactory.newDocumentBuilder();
Document newxml=builder.newDocument();
org.w3c.dom.Element languages=(org.w3c.dom.Element) newxml.createElement("Languages");
languages.setAttribute("cat", "it");
org.w3c.dom.Element lan1=newxml.createElement("lan");
lan1.setAttribute("id","1");
org.w3c.dom.Element name1=newxml.createElement("name");
name1.setTextContent("Java");
org.w3c.dom.Element ide1=newxml.createElement("ide");
ide1.setTextContent("Eclipe");
lan1.appendChild(name1);
lan1.appendChild(ide1);
languages.appendChild(lan1);
org.w3c.dom.Element lan2=newxml.createElement("lan");
lan2.setAttribute("id","2");
org.w3c.dom.Element name2=newxml.createElement("name");
name2.setTextContent("Swift");
org.w3c.dom.Element ide2=newxml.createElement("ide");
ide2.setTextContent("Xcode");
lan2.appendChild(name2);
lan2.appendChild(ide2);
languages.appendChild(lan2);
org.w3c.dom.Element lan3=newxml.createElement("lan");
lan3.setAttribute("id","3");
org.w3c.dom.Element name3=newxml.createElement("name");
name3.setTextContent("c#");
org.w3c.dom.Element ide3=newxml.createElement("ide");
ide3.setTextContent("Visual Studio");
lan3.appendChild(name3);
lan3.appendChild(ide3);
languages.appendChild(lan3);
newxml.appendChild(languages);
TransformerFactory transformerFactory=TransformerFactory.newInstance();
Transformer transformer=transformerFactory.newTransformer();
transformer.setOutputProperty("encoding", "utf-8");
StringWriter sw=new StringWriter();
transformer.transform(new DOMSource(newxml), new StreamResult());
text.setText(sw.toString());
// Document document=builder.parse(getAssets().open("languages.xml"));
// org.w3c.dom.Element element=document.getDocumentElement();
// NodeList list=element.getElementsByTagName("lan");
// for(int i=0;i<list.getLength();++i){
// org.w3c.dom.Element lan=(org.w3c.dom.Element) list.item(i);
// text.append(lan.getAttribute("id")+"\n");
// text.append(lan.getElementsByTagName("name").item(0).getTextContent()+"\n");
// text.append(lan.getElementsByTagName("ide").item(0).getTextContent()+"\n");
// }
} catch (ParserConfigurationException e) {
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}