写入XML文件

时间:2015-07-24 08:20:02

标签: java android xml

我有一个特殊的问题。

我正在使用XML等不同标签从网上加载<job_id>文件。 这些XML数据将写入名为xmlInformations.xml的文件中。 每个信息都从文件加载到名为ArrayList<Hashmap<String,String>>

taskItems
public void setListTaskData(String filename) {

    XMLParser parser = new XMLParser();
    Document doc = parser.getDomElement(readFromFile(filename));

    NodeList nodeListTasks = doc.getElementsByTagName(KEY_TASK);

    for (int i = 0; i < nodeListTasks.getLength(); i++) {
        HashMap<String, String> map = new HashMap<>();
        Element e = (Element) nodeListTasks.item(i);

        map.put(KEY_TASK_UUID_OBJ, parser.getValue(e, KEY_TASK_UUID_OBJ));
        map.put(KEY_TASK_TITLE, parser.getValue(e, KEY_TASK_TITLE));
        map.put(KEY_TASK_INFO, parser.getValue(e, KEY_TASK_INFO));
        map.put(KEY_TASK_OBJECT, parser.getValue(e, KEY_TASK_OBJECT));
        map.put(KEY_TASK_LOCATION, parser.getValue(e, KEY_TASK_LOCATION));
        map.put(KEY_TASK_OBJECT_ID, parser.getValue(e, KEY_TASK_OBJECT_ID));
        map.put(KEY_TASK_OBJECT_SNR, parser.getValue(e, KEY_TASK_OBJECT_SNR));
        map.put(KEY_TASK_REGISTRATION_ID, parser.getValue(e, KEY_TASK_REGISTRATION_ID));
        map.put(KEY_TASK_TASKIMAGE, parser.getValue(e, KEY_TASK_TASKIMAGE));
        map.put(KEY_TASKIMAGE, parser.getValue(e, KEY_TASKIMAGE));
        map.put(KEY_TASK_HEADLINE, parser.getValue(e, KEY_TASK_HEADLINE));
        map.put(KEY_TASK_SUBJECT, parser.getValue(e, KEY_TASK_SUBJECT));
        map.put(KEY_TASK_ACTION, parser.getValue(e, KEY_TASK_ACTION));
        map.put(KEY_TASK_PRIORITY_COLOR, parser.getValue(e, KEY_TASK_PRIORITY_COLOR));
        map.put(KEY_TASK_STATUS, parser.getValue(e, KEY_TASK_STATUS));
        taskItems.add(map);
    }
}

它们将显示在ListView上。 点击一个项目后,它会启动一个名为Activity的新SingleTaskActivity。 此ActivityIntentExtra TaskListActivity获取@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //neue Oberflaeche starten Intent in = new Intent(this, SingleTaskList.class);; in.putExtra("taskItems", taskItems.get(position)); startActivity(in); } 信息。

看起来像:

SingleTaskActivity

super.onCreate(savedInstanceState); Intent i = getIntent(); ListView lv = getListView(); lv.setOnItemClickListener(this); Serializable xmlFileNames = i.getSerializableExtra("xmlFileNames"); String filename = xmlFileNames.toString()+".kx_task"; setListTaskData(filename); CustomAdapterTasks adapterTasks = new CustomAdapterTasks(this,taskItems); setListAdapter(adapterTasks); getActionBar().setDisplayHomeAsUpEnabled(true); } 现在显示信息。

Edittext

用户现在可以在XML中输入内容或拍摄照片。

这就是问题:

当用户完成他的工作并点击按钮&#34;保存&#34;在底部,如何将所有这些信息保存到public override void OnActionExecuting(ActionExecutingContext context) { context.HttpContext.Session... } 文件中相同位置的文件中?

我希望明白我的问题是什么。 我现在工作大约12天,但没有发现它是如何工作的。

谢谢!

King Regards

1 个答案:

答案 0 :(得分:1)

使用startactivityforresult()和@ override onactivityresult作为第一个活动来保存和恢复XML文件中的位置线。 例如,阅读此主题: https://stackoverflow.com/a/10407371/1979882