Java gwt将新的子节点添加到xml文件中
iam正在使用mgwt构建一个移动应用程序。此应用程序包含来自xml文件的内容列表。 我正试图通过应用程序向这些xml文件中添加新内容 以下是xml文件:Java gwt将新的子节点添加到xml文件中,java,xml,gwt,mgwt,Java,Xml,Gwt,Mgwt,iam正在使用mgwt构建一个移动应用程序。此应用程序包含来自xml文件的内容列表。 我正试图通过应用程序向这些xml文件中添加新内容 以下是xml文件: <?xml version="1.0" encoding="UTF-8"?> <root> <options> <option>c1 A</option> <option>c1 B</option>
<?xml version="1.0" encoding="UTF-8"?>
<root>
<options>
<option>c1 A</option>
<option>c1 B</option>
</options>
</root>
怎么了?请提供帮助。如果您在phonegap容器中运行代码,GWT.getHostPageBaseURL()将指向file://somepath 在您的设备上。我猜您想从服务器加载数据。您需要使用正确的url
另一方面,你应该意识到浏览器中的XML处理速度很慢,应该考虑使用JSON作为替代格式。
不,应用程序的最高部分由CyLeStand和在这些单元格列表中表示的内容组成,来自XML文件,分别存储在android mgwt应用程序的assets/www文件夹中mgwt项目的war文件夹中。xml文件的内容通过RequestBuilder加载到单元格列表中。我想通过应用程序将一些新数据添加到这些xml文件中。刷新后,这些新信息应显示在单元格列表中。该代码将向现有文档对象添加一个新节点,即内存中当前XML文件的逻辑表示。这并不意味着此更改将保留在存储XML的文件中。<option>c1 C </option>
<?xml version="1.0" encoding="UTF-8"?>
<root>
<options>
<option>c1 A</option>
<option>c1 B</option>
<option>c1 C </option>
</options>
</root>
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, GWT.getHostPageBaseURL()+"folderName/fileName.xml");
try{
builder.sendRequest(null, new RequestCallback() {
@Override
public void onResponseReceived(Request request, Response response) {
Document document = XMLParser.parse(response.getText());
Element elementRoot = document.getDocumentElement();
Element options = (Element)elementRoot.getElementsByTagName("options").item(0);
Element optionElement = document.createElement("option");
optionElement.appendChild(document.createTextNode("c1 C"));
options.appendChild(optionElement);
}
@Override
public void onError(Request request, Throwable exception) {
}
});
}catch(RequestException e){
Window.alert("Unable to build the request.");
}