java - gwt 将新的子节点添加到 xml 文件中

标签 java xml gwt mgwt

我正在使用 mgwt 构建移动应用程序。该应用程序包含来自 xml 文件的内容列表。 我正在尝试通过应用程序将新内容添加到这些 xml 文件中。

这是 xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <options>
            <option>c1 A</option>
            <option>c1 B</option>
    </options>
 </root>

我正在尝试添加一个新

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

出了什么问题?请帮忙。

最佳答案

如果您在phonegap容器内运行代码,GWT.getHostPageBaseURL()将指向您设备上的file://somepath。我猜你想从服务器加载数据。您需要使用正确的网址。

另一方面,您应该意识到浏览器中的 XML 处理速度非常慢,应该考虑使用 JSON 作为替代格式。

关于java - gwt 将新的子节点添加到 xml 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318732/

相关文章:

java - 尚未应用带有 AspectJ 抛出建议的删除向导指标

java - 如何要求多个输入并在用户输入 0 时停止?

c# - 追加现有的 XML 文件

xml - 使用 XSLT 拆分和展平节点

java - Eclipse 终止应用程序服务器和 GWT 开发模式的快捷键

java - 找出 JAR 库的许可证

java - 在 Linux 中使用 Java 进行游戏编程

java - 如何在 Android/Java 中修改 XML 属性

java - 使用 javascript 调用 get 函数

java - (类型错误) : Blob is not a constructor