Java 如何删除父节点将删除其所有子节点?

Java 如何删除父节点将删除其所有子节点?,java,android,xml,xslt,Java,Android,Xml,Xslt,我有以下.xml文件 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id="1"> <name>Book-1</name> <author>Author-1</author> </book> </bookstore> 第一册 作者-1 问题是我想删除带有id=“1”的书。我想要一种

我有以下.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
   <book id="1">
      <name>Book-1</name>
      <author>Author-1</author>
   </book>
</bookstore>

第一册
作者-1

问题是我想删除带有
id=“1”
的书。我想要一种删除图书节点的方法,以便自动删除其所有子节点。有办法吗?

您可以使用
XSLT
脚本:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output omit-xml-declaration="yes"/>
    <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*"/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="book[@id='1']"/>
</xsl:stylesheet>

还有另一个简单的解决方案可用于解析XML文件。浏览

如何将其与Android集成的文档?由于复制引入了冗余,我将指出这个问题:我想根据我的要求使用DOM解析器。如何使用DOM解析器实现?这不在问题规范中,请给我一分钟时间了解一下,尽管XSLT确实是一种很好的XML转换语言……完成了,但我还没有测试它,目前正在一台没有Java的机器上工作:(
NodeList nList = doc.getElementsByTagName("book");
for (int temp = 0; temp < nList.getLength(); temp++) {
    Node nNode = nList.item(temp);
    if (nNode.getNodeType() == Node.ELEMENT_NODE) {
        Element eElement = (Element) nNode;
        if(eElement.getAttribute("id").equals("1")) {
            doc.removeChild(eElement);
        }
    }
}