我有一个xml doc,如下所示。
<data>
<employee>
<moretag> may or may not contain inner tag and attributes</moretag>
<somemore> may contain inner tags</somemore>
</employee>
</data>
我想要如下操作
<employee>
<moretag> may or may not contain inner tag and attributes</moretag>
<somemore> may contain inner tags</somemore>
</employee>
我想剥离data tags
。我怎么能这样做?
答案 0 :(得分:1)
您可以使用jdom
:
InputStream is = new FileInputStream(xmlFileName);
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
Document doc = new SAXBuilder().build(isr);
Element data = doc.getRootElement();
Element employee = data.getChild("employee");
XMLOutputter xmlOut = new XMLOutputter(Format.getPrettyFormat());
xmlOut.output(employee, System.out);
答案 1 :(得分:1)
使用XSLT
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="data">
<xsl:copy-of select="child::node()" />
</xsl:template>
</xsl:stylesheet>
答案 2 :(得分:0)
你不能简单地剥离这样的节点。
您倾向于实现的简单逻辑是您复制了根节点的firstChild,即用它替换根节点。
P.S。在根节点下只有一个孩子。