【发布时间】:2013-11-27 18:55:03
【问题描述】:
我记得在 Visual Basic 中存在一个函数 Split(),它可以将字符串除以特定字符。
现在我正在使用 XSLT 编程,我想使用类似的功能,但我不太了解 XSLT。
在附件中我放了xml代码:
<SECTION_CONTENT_LIST_ITEM>
<NTC_LIGHTLISTPRODUCT>
<VICINITY>TARANTO</VICINITY>
<ITA_LIGHT_NAME>Porto industriale esterno;Meda elastica</ITA_LIGHT_NAME>
</NTC_LIGHTLISTPRODUCT>
</SECTION_CONTENT_LIST_ITEM>
<SECTION_CONTENT_LIST_ITEM>
<NTC_LIGHTLISTPRODUCT>
<VICINITY>TARANTO</VICINITY>
<ITA_LIGHT_NAME>Porto industriale esterno;Meda elastica</ITA_LIGHT_NAME>
</NTC_LIGHTLISTPRODUCT>
</SECTION_CONTENT_LIST_ITEM>
<SECTION_CONTENT_LIST_ITEM>
<NTC_LIGHTLISTPRODUCT>
<VICINITY>TARANTO</VICINITY>
<ITA_LIGHT_NAME>Porto industriale esterno;Meda elastica</ITA_LIGHT_NAME>
</NTC_LIGHTLISTPRODUCT>
</SECTION_CONTENT_LIST_ITEM>
<SECTION_CONTENT_LIST_ITEM>
<NTC_LIGHTLISTPRODUCT>
<VICINITY>TARANTO</VICINITY>
<ITA_LIGHT_NAME>MAR GRANDE;Porto industriale interno;Accesso al IV sporgente;All 341;Radice IV sporgente (Ant)</ITA_LIGHT_NAME>
</NTC_LIGHTLISTPRODUCT>
</SECTION_CONTENT_LIST_ITEM>
<SECTION_CONTENT_LIST_ITEM>
<NTC_LIGHTLISTPRODUCT>
<VICINITY>TARANTO</VICINITY>
<ITA_LIGHT_NAME>MAR GRANDE;Porto industriale interno;Accesso al IV sporgente;All 341;Circa 700 m a NNW dell'Ant(Post)</ITA_LIGHT_NAME>
</NTC_LIGHTLISTPRODUCT>
</SECTION_CONTENT_LIST_ITEM>
我想看看:
TARANTO
<br />
Porto industriale esterno
-Meda elastica
-Meda elastica
-Meda elastica
<br />
Mar Grande
-Porto industriale interno
--Accesso al IV sporgente
---All 341
----Radice IV sporgente (Ant)
----Circa 700 m a NNW dell'Ant(Post)
<br />
作为来自<ITA_LIGHT_NAME> 的树,使用类似于Split() 但在XSLT 中的函数。谢谢。
【问题讨论】:
-
- 每个孩子都必须使用-
-
对于您的输入 XML,这非常困难,尤其是在您不太了解 XSLT 的情况下。 (XSLT 中没有
Split()函数。)1) 你能对 XML 做些什么吗? 2) 是否可以选择 XSLT 以外的其他语言? 3) 如果您必须使用 XSLT,您使用的是什么 XSLT 引擎(名称和版本)? -
只有 xslt 1.0 版,我现在不知道不同的语言。
-
我指的是 XSLT 引擎,而不是 XSLT 语言版本。我问了不止一个问题。
-
您需要使用递归模板,如以下重复问题stackoverflow.com/questions/4845660/xsl-how-to-split-strings