Freemarker:从节点中删除特定属性

保罗·赖纳斯

我有一个像这样的XML节点:

    <table version="1.0" border="1" rules="all" cellpadding="10">
        .
        .
        .
    </table>        

我希望Freemarker对此“回显”,但不包括version属性,给出以下内容:

    <table border="1" rules="all" cellpadding="10">
        .
        .
        .
    </table>        

我相信我需要使用这样的宏:

    <#macro table>
        <table [include all attributes except version]>
            <#recurse>
        </table>
    </#macro>

但是我不知道“ [包括除版本以外的所有属性]”部分的内容。

我该怎么做呢?

迪卡尼

FreeMarker的XML包装器并不是真正用于将XML转换为类似的XML,它只是公开数据的一种方式...但是,如果您稍加拉伸,毕竟有可能(使用http://freemarker-online.kenshoo.com /):

模板:

<#visit doc>

<#macro table>
  <table<@atts except=['a', 'c'] />>
    <#recurse>
  </table>
</#macro>

<#macro atts element=.node except=[]>
  <#list element.@@ as att>
    <#if !except?seqContains(att.@@qname)> ${att.@@qname}="${att?xml}"</#if><#t>
  </#list>
</#macro>

资料模型:

doc=<table a="1" b='2' c='3' />

但是,如果您具有属于名称空间的属性,则存在一些陷阱。然后,您将需要使用声明前缀<#ftl nsPrefixes="...">

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从节点中删除空属性和空子级

来自分类Dev

从neo4j中的大量节点中删除属性

来自分类Dev

如何从Sprite节点中删除特定的子级?

来自分类Dev

如何获取特定节点中的所有属性值

来自分类Dev

在节点中编辑xml属性

来自分类Dev

从子节点中按属性选择节点

来自分类Dev

如果子节点具有特定属性,则删除父节点

来自分类Dev

通过一个API请求从节点中删除特定的污点

来自分类Dev

我想知道是否从节点中删除了具有特定 ID 的项目

来自分类Dev

XML Oracle:从多个重复的子节点中提取特定属性

来自分类Dev

在MS Word中使用XPath从特定节点中选择属性

来自分类Dev

根据当前节点中特定属性的值,从 XML 文件中链接的文本中选择文本

来自分类Dev

如何在 Neo4j 节点中显示特定属性

来自分类Dev

从父节点中删除所有子节点,除了一个特定的,c# 中的 xml

来自分类Dev

XML XSLT删除节点中的空间

来自分类Dev

从xml节点中删除名称空间

来自分类Dev

从单节点中的属性构建XML结构

来自分类Dev

使用Linq返回节点中的属性列表

来自分类Dev

从JS节点中的模板操纵按钮属性

来自分类Dev

父节点中needsLayout 属性的用途

来自分类Dev

从节点中的模块加载特定文件

来自分类Dev

在特定的搜索节点中重建Solr索引

来自分类Dev

仅链接节点中的特定文本

来自分类Dev

LINQ to XML选择特定节点中的元素

来自分类Dev

从特定的 xml 节点中提取值

来自分类Dev

从图中删除没有特定属性的节点时出错

来自分类Dev

如果属性具有特定值,则删除XML节点

来自分类Dev

SpriteKit检测节点是否从父节点中删除

来自分类Dev

SpriteKit检测节点是否从父节点中删除

Related 相关文章

热门标签

归档