【问题标题】:How to delete nodes from xml file?如何从 xml 文件中删除节点?
【发布时间】:2016-12-01 08:54:49
【问题描述】:

我想用 Appcelerator 的应用程序处理 XML 文件中的数据。

所以我可以使用以下代码从这个 xml 文件中读取信息:

var file = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory,'/XML/file.xml'); 
var xmltext = file.read().text;
var doc = Ti.XML.parseString(xmltext); 
var nodes = doc.documentElement.getElementsByTagName("code");
for (var i=0;i<nodes.length;i++) {
    var element = nodes.item(i);
    //LA SECTION CODE DEL SOCIAL HISTORY, DEVE ESSERE
    //29762-2
    if(element.getAttribute('code') == '29762-2'){
        var section = element.parentNode;   
        if(section.nodeName =='section'){
            var entries = section.getElementsByTagName("entry");
        }
    }
}

使用此代码,我可以读取 XML 文件的每个节点。 现在我想从这个 XML 文件中删除一些部分。

我该怎么做?

编辑

这是我用来从我的 XML 文件中删除一个孩子的代码。

var section = element.parentNode;   
var entries = section.getElementsByTagName("entry");
for(var e=0; e< entries.length; e++){
   var entry = entries.item(e);
   var nodiRimasti = section.removeChild(entry);
}

如果我尝试检查部分的子节点,我可以看到一个节点已被删除。现在不知道怎么确认这个修改,然后保存修改文件。

【问题讨论】:

    标签: javascript xml appcelerator appcelerator-titanium appcelerator-alloy


    【解决方案1】:

    在您使用 parseString 之后,您会得到一个 XML 文档,其中包含大量可以使用的方法。看看documentation可以用什么。

    例如,您可以使用removeChild 方法删除基本上就是您要的子元素。

    删除后,将 XML 文档解析回字符串并使用 filesystem API 更新文件

    【讨论】:

    • 感谢您的回答。我只是用删除孩子的代码编辑我的问题。现在我不知道如何保存修改
    猜你喜欢
    • 1970-01-01
    • 2013-02-19
    • 2019-04-12
    • 2023-03-24
    • 2018-03-17
    • 2016-11-05
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多