我正在使用 org.w3c.xml java 库 并在执行一些任务时遇到一些困难:
- 我有一个 Element 对象;如何从它和前身中删除命名空间?
如何创建没有命名空间的文档?我已经尝试过了
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); docBuilderFactory.setNamespaceAware(false); DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); Document doc = docBuilder.parse (new File("C:/Temp/XMLFiles/"+fileName+".xml"));
虽然看起来很有希望,但实际上并没有什么作用。我仍在获取带有命名空间的文档。
如何从元素创建文档?
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); doc.adoptNode(dataDefinition);
其中dataDefinition是一个元素,但是没有作用;我做错了什么?
最佳答案
尝试使用以下命令对其进行转换 XSL :
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no"/>
<xsl:template match="/|comment()|processing-instruction()">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
<小时/>
Transformer xformer = TransformerFactory.newInstance().newTransformer(new StreamSource(new FileInputStream("xform.xsl")));
StringWriter writer = new StringWriter();
xformer.transform(new StreamSource(new FileInputStream("input.xml")), new StreamResult(writer));
System.out.println(writer.toString());
关于java - 如何从元素中删除 namespace ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2095673/