将XML写入Raw资源目录

时间:2013-05-06 20:53:29

标签: android xml

如何将xml写入我的原始目录中的文件。我已经完成了一切,只需要最后一步。

XmlSerializer xmlWriter = Xml.newSerializer();
    StringWriter writer = new StringWriter();
    String namespace = "";
    try{
        xmlWriter.setOutput(writer);
        xmlWriter.startDocument("UTF-8", true);
        xmlWriter.startTag("", "contacts");
        xmlWriter.startTag("", "entry");
        xmlWriter.attribute("", "entry", "String");
        for (int i = 0; i < sortedList.size(); i++){
            xmlWriter.startTag("", "firstname");
            xmlWriter.text(sortedList.get(i).getFirstName());
            xmlWriter.endTag(namespace, "firstname" );
            xmlWriter.startTag(namespace, "lastname");
            xmlWriter.text(sortedList.get(i).getLastName());
            xmlWriter.endTag(namespace, "lastname");
            xmlWriter.startTag(namespace, "number");
            xmlWriter.text(sortedList.get(i).getPhoneNumber());
            xmlWriter.endTag(namespace, "number");
        }
        xmlWriter.endTag(namespace, "entry");
        xmlWriter.endTag(namespace, "contacts");
        xmlWriter.endDocument();


        xmlWriter.setOutput(writer);

        // Write to res/raw/contacts.xml

编写器已正确格式化所有xml并按我希望的方式排序。我只需要弄清楚如何将它写入我的res / raw文件夹中的文件。

修改 我正在使用XmlPullParser和InputStream来读取文件:

XmlPullParser xmlData;
    InputStream input = context.getResources().openRawResource(R.raw.contacts);
    XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
    factory.setNamespaceAware(true);
    xmlData = factory.newPullParser();
    xmlData.setInput(input, "UTF-8");

由于

1 个答案:

答案 0 :(得分:3)

AFAIK是不可能的,您可以写入设备内部/外部存储或将文件发布到网络服务器,但原始文件夹不可修改,只有在您的应用程序在手机上时它才是只读的