小编mdi*_*iez的帖子

XSL - 如何从源xml中删除未使用的命名空间?

我有一个带有许多未使用的命名空间的xml,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<ns1:Envelope xmlns:ns1="http://www.a.com" xmlns:ns2="http://www.b.com" xmlns:ns3="http://www.c.com" xmlns:ns4="http://www.d.com">
    <ns1:Body>
        <ns2:a>
            <ns2:b>data1</ns2:b>
            <ns2:c>data2</ns2:c>
        </ns2:a>
    </ns1:Body>
</ns1:Envelope> 
Run Code Online (Sandbox Code Playgroud)

我想删除未使用的命名空间,而不必在xslt中指定要删除/维护的名称空间.结果xml应该是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<ns1:Envelope xmlns:ns1="http://www.a.com" xmlns:ns2="http://www.b.com">
    <ns1:Body>
        <ns2:a>
            <ns2:b>data1</ns2:b>
            <ns2:c>data2</ns2:c>
        </ns2:a>
    </ns1:Body>
</ns1:Envelope> 
Run Code Online (Sandbox Code Playgroud)

我已经google了很多,但还没有找到解决这个问题的方法.有没有?

谢谢.

PS:不是100%肯定,但我认为应该是XSL 1.0.

xml xslt xml-namespaces

16
推荐指数
1
解决办法
9746
查看次数

标签 统计

xml ×1

xml-namespaces ×1

xslt ×1