2016-11-17 81 views
0

我想这个XML格式分割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

欢迎SO :-)我们不是代码写作服务。请通过编辑您的问题来显示您的努力,并要求您的代码具体帮助。 –

+0

亲爱的斯特凡, 主要问题是拆分元素名称,我做了我的研究,但我不能找到smtg类似。 –

+0

对不起@KhalilKalaany这不是关于研究,而是关于代码。你必须**有代码才能得到有关该代码的答案。问题“我需要代码......”实际上是不允许的,请参阅[如何提问](http://stackoverflow.com/help/how-to-ask) –

回答

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()元素的名称。

现在你“只是”必须编码它。在._之后拆分以创建您想要的结果。

[描述你的问题用语言,以及帮助,原因是那里的情况等存储在3而不是2子元素?!“一个| | B C”]