java - 在代码中删除XML文件中的内容

标签 java android xml

我正在开发一个 android 应用程序,我想在我的应用程序代码中删除我的 XML 文件中的一小部分内容。 我想删除以下内容:

<pma:structure_schemas>
    <pma:database name="test" collation="latin1_swedish_ci" charset="latin1">
        <pma:table name="agenda">
            CREATE TABLE `agenda` (
              `id` int(2) NOT NULL AUTO_INCREMENT,
              `title` varchar(60) NOT NULL,
              `description` varchar(1000) NOT NULL,
              `town` varchar(30) NOT NULL,
               PRIMARY KEY (`id`)
            ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;
        </pma:table>
    </pma:database>
</pma:structure_schemas>

你知道怎么做吗?

最佳答案

您可以使用以下代码:

import java.io.File;
import javax.xml.*;
import org.w3c.dom.*;

public class DeleteXmlNode {

    public static void deleteNode(String nodedetailsExpression) {//Use your expression here depending upon the node you wnt to delete

        try{
        XPathFactory xPathFactory = XPathFactory.newInstance();
        XPath xpath = xPathFactory.newXPath();
        XPathExpression expression = xpath.compile(nodedetailsExpression);
        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
        Document document = documentBuilderFactory.newDocumentBuilder().parse(new File("test.xml"));
        Node node = (Node) expression.evaluate(document, XPathConstants.NODE);
        node.getParentNode().removeChild(node);
        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        transformer.transform(new DOMSource(document), new StreamResult(System.out));
        }catch(Exception e){
        //Do your Exception handling over here.
    }

}

这里需要传入要删除节点的表达式字符串。

关于java - 在代码中删除XML文件中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15811829/

相关文章:

android - 无法合并 Dex - Android Studio 3.0

android - 从自定义主题继承所需的 XML 属性

xmlns 命名约定

java - 如何使方法线程安全,即使我忘记在不更改文件的情况下在方法或 block 级别添加同步?

java - 找不到元素 'diops'的声明

java - 如何从在 GKE 上运行的 Java 应用程序获取 GCP 错误报告(谷歌 kubernetes 引擎)

java - 为什么自定义的ExpandableListView在android中不显示

java - 用于调试的 ant 任务不起作用 : Cause: the name is undefined

java - 如何处理 Android 中没有互联网和失去连接?

ruby-on-rails - 针对 XML 请求的 Rails WebMock