綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] 我要用DOM create一個XML檔 一直跑不出來 可以幫我看一下嗎

[複製連結] 查看: 809|回覆: 0|好評: 0
跳轉到指定樓層
樓主
edd628ie | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-8-15 04:56

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
package com.example.writexml;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
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.Node;



public class MainActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
        }
        public void buttonc(View cvView)
        {
               
                DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
                DocumentBuilder dBuilder;
                try {
                    dBuilder = dbFactory.newDocumentBuilder();
                    Document doc = dBuilder.newDocument();
                  
                    Element rootElement =
                        doc.createElementNS("http://www.journaldev.com/employee", "Employees");
                   
                    doc.appendChild(rootElement);
         
                    EditText sn = (EditText)findViewById(R.id.schooln);
                    EditText na = (EditText)findViewById(R.id.name);
                    EditText de = (EditText)findViewById(R.id.department);
                    EditText cl = (EditText)findViewById(R.id.classn);
                   
                                String outcome1 = sn.getText().toString();
                                String outcome2 = na.getText().toString();
                    String outcome3 = de.getText().toString();
                    String outcome4 = cl.getText().toString();
                   
                    rootElement.appendChild(getEmployee(doc,outcome1,outcome2,outcome3,outcome4));
         
                   
                   
                    TransformerFactory transformerFactory = TransformerFactory.newInstance();
                    Transformer transformer = transformerFactory.newTransformer();
                    //for pretty print
                    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                    DOMSource source = new DOMSource(doc);
         
                    //write to console or file
                    StreamResult console = new StreamResult(System.out);
                    StreamResult file = new StreamResult(new File("C://users/emps.xml"));
         
                    //write data
                    transformer.transform(source, console);
                    transformer.transform(source, file);
                    System.out.println("DONE");
         
                } catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
         
         
            private static Node getEmployee(Document doc, String schooln, String name, String department, String classn) {
                Element employee = doc.createElement("Employee");
         
                //set id attribute
                employee.setAttribute("schooln", schooln);
         
                //create name element
                employee.appendChild(getEmployeeElements(doc, employee, "name", name));
         
                //create age element
                employee.appendChild(getEmployeeElements(doc, employee, "department", department));
         
                //create role element
                employee.appendChild(getEmployeeElements(doc, employee, "classn", classn));
             
               
         
                return employee;
            }
         
         
            //utility method to create text node
            private static Node getEmployeeElements(Document doc, Element element, String name, String value) {
                Element node = doc.createElement(name);
                node.appendChild(doc.createTextNode(value));
                return node;
            }
         
       
       
}
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則