【问题标题】:how to remove xmlns attribute with namespace but not remove namespace prefix in element tag using xslt如何使用命名空间删除 xmlns 属性,但不使用 xslt 删除元素标记中的命名空间前缀
【发布时间】:2018-01-15 22:32:38
【问题描述】:

我有一个这样的xml,

<article>

  <ce:jid xmlns:ce="http://www.elsevier.com">CQG</ce:jid>

</article>

我只想删除 xmln:namespace,

预期的输出是;

<article>

<ce:jid>CQG</ce:jid>

</article>

【问题讨论】:

标签: xml xslt


【解决方案1】:

如果这是您需要的整个输出 XML 文档,那么您无法使用 XSLT 实现它,因为输出不是命名空间格式正确的 - ce 前缀必须在某处声明,要么在jid 元素本身上,要么在其树上的祖先之一上。

如果这是输出的片段,那么您需要确保ce 前缀绑定出现在插入该片段的点上方的祖先之一上,并且 XML 序列化程序应该自动产生你想要的(如果它已经在祖先的范围内,它不需要重新声明命名空间)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多