从xml的根元素中删除特定的xmlns
发布时间:2020-12-16 23:11:37 所属栏目:百科 来源:网络整理
导读:我正在尝试为 XML文档进行转换,但由于我不了解XSLT,因此无法找到解决方案. 我有XML文档: ?xml version="1.0" encoding="UTF-8"?addresses xmlns="http://www.test.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLo
我正在尝试为
XML文档进行转换,但由于我不了解XSLT,因此无法找到解决方案.
我有XML文档: <?xml version="1.0" encoding="UTF-8"?> <addresses xmlns="http://www.test.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation='http://whatever/test.xsd'> <address> <name>Joe Tester</name> <street>Baker street 5</street> </address> </addresses> 我想生产: <?xml version="1.0" encoding="UTF-8"?> <addresses xmlns="http://www.test.org/xml"> <address> <name>Joe Tester</name> <street>Baker street 5</street> </address> </addresses> (考虑到xsi:noNamespaceSchemaLocation =“…”已经在此之前使用另一个XSLT排除了). 有人可以帮我找到解决方案吗? 用于消除xsi:noNamespaceSchemaLocation的XSLT是: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()" /> </xsl:copy> </xsl:template> <xsl:template match="@xsi:noNamespaceSchemaLocation"/> </xsl:stylesheet> 解决方法
请尝试一下:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes="xsi" > <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()" /> </xsl:copy> </xsl:template> <xsl:template match="*"> <xsl:element name="{name()}" namespace="{namespace-uri()}"> <xsl:copy-of select="namespace::*[not(. = 'http://www.w3.org/2001/XMLSchema-instance')]" /> <xsl:apply-templates select="@*|node()"/> </xsl:element> </xsl:template> <xsl:template match="@xsi:noNamespaceSchemaLocation"/> </xsl:stylesheet> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容