gpt4 book ai didi

java - 写入 XML 文件

转载 作者:行者123 更新时间:2023-11-30 02:00:11 26 4
gpt4 key购买 nike

我有一个特殊的问题。

我正在加载 XML来自 Web 的带有不同标签的文件,例如 <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 .这Activity通过 IntentExtra 获取信息来自 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文件?

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

谢谢!

国王问候

最佳答案

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

关于java - 写入 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31605529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com