0

Dom を使用して Android で XML ファイルを生成しようとしていますが、アプリケーションを実行すると XML ファイルは生成されませんが、エラーは発生しません。私を助けてください。

package com.example.samplexml;


import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
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.Element;


import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
    TextView  myTextView;
     EditText E1;
     EditText E2;
     EditText E3;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);


   Button b= (Button) findViewById(R.id.button1);
    E1 = (EditText) findViewById(R.id.editText1);
    E2 = (EditText) findViewById(R.id.editText2);
    E3 = (EditText) findViewById(R.id.editText3);

   b.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) { 




            DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder;
            try {
                docBuilder = docFactory.newDocumentBuilder();


            // root elements
            Document doc = docBuilder.newDocument();
            Element rootElement = doc.createElement("Class");
            doc.appendChild(rootElement);

            // staff elements
            Element student = doc.createElement("Student");
            rootElement.appendChild(student);


            // firstname elements
            Element firstname = doc.createElement("firstname");
            firstname.appendChild(doc.createTextNode(E1.getText().toString()));
            student.appendChild(firstname);

            Element Email = doc.createElement("Email");
            Email.appendChild(doc.createTextNode(E2.getText().toString()));
            student.appendChild(Email);

            // nickname elements
            Element Roll = doc.createElement("Roll_No");
            Roll.appendChild(doc.createTextNode(E3.getText().toString()));
            student.appendChild(Roll);


                    // write the content into xml file
            TransformerFactory transformerFactory = TransformerFactory.newInstance();



                Transformer transformer = transformerFactory.newTransformer();


            DOMSource source = new DOMSource(doc);
            StreamResult result = new StreamResult(new File("C:\\f.xml"));





                    transformer.transform(source, result);

                }
             catch (ParserConfigurationException e) {

                e.printStackTrace();
            }
             catch (TransformerException e) {

                    e.printStackTrace();}
            Toast.makeText(getApplicationContext(), 
                    "XML generated", Toast.LENGTH_LONG).show();


                                }
    }); }
}


    enter code here
4

2 に答える 2

0

含めているようです

    StreamResult result = new StreamResult(new File("C:\\f.xml"));

Android には C:\f.xml のようなディレクトリはありません。Android の Environment クラスを使用して SDCard にアクセスし、そこにファイルを書き込みます。

于 2013-05-25T13:48:16.607 に答える