使用java删除xml中除replaceall以外的所有名称空间
我想使用java删除xml文档中的所有名称空间,除了替换所有方法之外,还有其他有效的方法吗 提前谢谢。使用java删除xml中除replaceall以外的所有名称空间,java,xml,xslt,xml-parsing,xml-namespaces,Java,Xml,Xslt,Xml Parsing,Xml Namespaces,我想使用java删除xml文档中的所有名称空间,除了替换所有方法之外,还有其他有效的方法吗 提前谢谢。 Sushma.如果您不关心匹配实际不是名称空间声明的内容(例如,在注释或CDATA节中)的可能性很小,那么使用正则表达式处理删除名称空间声明可能是可行的。从元素和属性名称中移除前缀更为棘手。为什么不使用XSLT以简单的方式完成呢?它只需要一个简单的2规则样式表: <xsl:template match="*"> <xsl:element name="{local-name
Sushma.如果您不关心匹配实际不是名称空间声明的内容(例如,在注释或CDATA节中)的可能性很小,那么使用正则表达式处理删除名称空间声明可能是可行的。从元素和属性名称中移除前缀更为棘手。为什么不使用XSLT以简单的方式完成呢?它只需要一个简单的2规则样式表:
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="*|@*"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{local-name()}">
<xsl:value-of select=."/>
</xsl:attribute>
</xsl:template>
是的,将XML解析为对象树,删除名称空间并再次序列化XML。说真的,全部替换怎么样?结果如何?嗨,我是java新手,你能简单解释一下吗。。