小编Ind*_*ian的帖子

XSLT删除属于命名空间的标记/属性

我正在尝试使用XSLT删除属于命名空间的标签/属性.困难在于来自不同名称空间的标签可以相互嵌入.

样品:

<?xml version="1.0" encoding="utf-8"?>
<Collection xmlns="http://s0" xmlns:ns1="http://s1">
  <Identifier Name="CollectionX"
          ns1:GlobalID="{E436833B-B0A6-4E0D-804B-60052B767AE3}"
          ns1:LocalID="{0130C866-7A91-4544-A82B-E0C0F2E3BCB2}"  />

  <Properties>
    <ns1:Collectible>1982</ns1:Collectible>
    <Displayed>Reserved</Displayed>
    <Picture>Reserved.jpeg</Picture>
  </Properties>

  <WeakLinks>
    <Link Type="resource" Language="en-us"/>
  </WeakLinks>

</Collection>
Run Code Online (Sandbox Code Playgroud)

我想过滤所有不属于ns1的标签/属性,只要它们没有任何ns1子级.

所以结果应该是:

<?xml version="1.0" encoding="utf-8"?>
<Collection xmlns="http://s0" xmlns:ns1="http://s1">
  <Identifier 
      ns1:GlobalID="{E436833B-B0A6-4E0D-804B-60052B767AE3}"
      ns1:LocalID="{0130C866-7A91-4544-A82B-E0C0F2E3BCB2}"  />

  <Properties>
    <ns1:Collectible>1982</ns1:Collectible>
  </Properties>

</Collection>
Run Code Online (Sandbox Code Playgroud)

我怎样才能用XSLT来解决这个问题?有帮助吗?

xslt

10
推荐指数
1
解决办法
1634
查看次数

标签 统计

xslt ×1