1.读写xml格式的数据
languages.xml(存放在assets文件夹)
<?xml version="1.0" encoding="utf-8"?>
<Languages cat="it">
<lan id="1">
<name>Java</name>
<ide>Eclipse</ide>
</lan>
<lan id="2">
<name>Swift</name>
<ide>Xcode</ide>
</lan>
<lan id="3">
<name>C#</name>
<ide>Visual Studio</ide>
</lan>
</Languages>
package com.example.testxml;
import java.io.IOException;
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.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView textView;
private DocumentBuilderFactory builderFactory;
private DocumentBuilder builder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView)findViewById(R.id.textView);
try {
builderFactory = DocumentBuilderFactory.newInstance();
builder = builderFactory.newDocumentBuilder();
} catch (ParserConfigurationException e1) {
e1.printStackTrace();
}
//ReadXML();
WriteXML();
}
private void ReadXML()
{
try {
Document document = builder.parse(getAssets().open("languages.xml"));
Element element = document.getDocumentElement();
NodeList list = element.getElementsByTagName("lan");
for(int i = 0;i < list.getLength();i++) {
Element lan = (Element)list.item(i);
textView.append(lan.getAttribute("id") + "\n");
textView.append(lan.getElementsByTagName("name").item(0).getTextContent() + "\n");
textView.append(lan.getElementsByTagName("ide").item(0).getTextContent() + "\n");
}
} catch (SAXException | IOException e) {
e.printStackTrace();
}
}
private void WriteXML()
{
try {
Document newxml = builder.newDocument();
Element languages = newxml.createElement("Languages");
languages.setAttribute("cat", "it");
Element lan1 = newxml.createElement("lan");
lan1.setAttribute("id", "1");
Element name1 = newxml.createElement("name");
name1.setTextContent("Java");
Element ide1 = newxml.createElement("ide");
ide1.setTextContent("Eclipse");
lan1.appendChild(name1);
lan1.appendChild(ide1);
languages.appendChild(lan1);
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(sw));
textView.setText(sw.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
2.读写json格式的数据
test.json(存放在assets文件夹)
{
"languages": [
{"id":1,"ide":"Eclipse","name":"Java"},
{"id":2,"ide":"XCode","name":"Swift"},
{"id":3,"ide":"Visual Studio","name":"C#"}
],
"cat":"it"
}
package com.example.testjson;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView)findViewById(R.id.textView);
//ReadJSON();
WriteJSON();
}
private void ReadJSON()
{
try {
InputStreamReader isr = new InputStreamReader(getAssets().open("test.json"),"UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
StringBuilder builder = new StringBuilder();
while ((line = br.readLine()) != null) {
builder.append(line);
}
br.close();
isr.close();
JSONObject root = new JSONObject(builder.toString());
textView.append("cat=" + root.getString("cat") + "\n");
JSONArray array = root.getJSONArray("languages");
for (int i = 0; i < array.length(); i++) {
JSONObject lan = array.getJSONObject(i);
textView.append("-------------" + "\n");
textView.append("id=" + lan.getInt("id") + "\n");
textView.append("name=" + lan.getString("name") + "\n");
textView.append("ide=" + lan.getString("ide") + "\n");
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void WriteJSON()
{
try {
JSONObject root = new JSONObject();
root.put("cat", "it");
JSONObject lan1 = new JSONObject();
lan1.put("id", 1);
lan1.put("ide", "Eclipse");
lan1.put("name", "Java");
JSONObject lan2 = new JSONObject();
lan2.put("id", 2);
lan2.put("ide", "Xcode");
lan2.put("name", "Swift");
JSONObject lan3 = new JSONObject();
lan3.put("id", 3);
lan3.put("ide", "Visual Studio");
lan3.put("name", "C#");
JSONArray array = new JSONArray();
array.put(lan1);
array.put(lan2);
array.put(lan3);
root.put("languages", array);
textView.append(root.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
}