如何使用 XSLT 删除命名空间声明但保留 XML 中的前缀

问题描述 投票:0回答:1

我在某些节点上有一个带有前缀和命名空间声明的 XML,我想删除该声明但保留前缀。

当前的 XML 显示如下

<Body>  
<n1:ParentNode xmlns:n1="test1" xmlns:n2="test2"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <School>
        <n1:SchoolInfo xmlns:n1="test1">
          <SchoolID1>
             <n2:ID xmlns:n2="test2">BAS123</n2:ID>
          <SchoolID1>
        </n1:SchoolInfo>          
     </School>              
</Body>               

我希望结果如下

XML:

 <Body>  
<n1:ParentNode xmlns:n1="test1" xmlns:n2="test2"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <School>
        <n1:SchoolInfo>
          <SchoolID1>
             <n2:ID>BAS123</n2:ID>
          <SchoolID1>
        </n1:SchoolInfo>          
     </School>              
</Body>  
       
          
           
              
             

使用 XSLT 解决该问题的最简单方法是什么?任何帮助,将不胜感激。 谢谢!!

xml xpath xslt
1个回答
0
投票

只需使用恒等变换,多余的内部命名空间声明就会消失。

© www.soinside.com 2019 - 2024. All rights reserved.