Java gwt将新的子节点添加到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>

iam正在使用mgwt构建一个移动应用程序。此应用程序包含来自xml文件的内容列表。 我正试图通过应用程序向这些xml文件中添加新内容

以下是xml文件:

<?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.");
    }