我想转换这种XML格式
<CTP>
<name>ABSA bank</name>
<BAs.BA>bank|sector|issuer</BAs.BA>
<altIDs.altID_label_altSystem>ABSB_BBG|ASB_Reuters</altIDs.altID_label_altSystem>
</CTP>
采用这种格式,因此我可以在从一个系统迁移到另一个系统时在集成项目中使用它。
<CTP>
<name>ABSA bank</name>
<BAs>
<BA>bank</BA>
<BA>sector</BA>
<BA>issuer</BA>
</BAs>
<altIDs>
<aldId>
<label>ABSB</label>
<altSystem>BBG</altSystem>
</aldId>
<aldId>
<label>ASB</label>
<altSystem>Reuters</altSystem>
</aldId>
</altIDs>
</CTP>
我的主要问题是如何将这些元素的名称拆分为多个元素。
我怎么能这样做?
答案 0 :(得分:1)
完成工作的searchterm是 tokenize 。
XSLT 1.0 递归模板,在SO上搜索tokenize xslt 1.0
。
XSLT 2.0 使用函数tokenize
,请参阅https://www.w3.org/TR/xpath-functions/#func-tokenize
要获取元素的名称,可以使用name()
。
现在你“只是”必须编码。在.
和_
之后拆分,以创建所需的结果。
[用文字描述你的问题,也有帮助,因为有一个案例像'a | b | c'存储在3而不是2个子元素中吗?!]