很多时候,mp3标签都是以“艺术家-标题”的形式,但存储在标题字段中。
我想将值拆分为艺术家 + 标题字段。
拆分前/拆分后的示例:
<title>Artist - Title</title>
<title> - Title</title>
<title>Artist - </title>
<title>A title</title>
后:
<artist>Artist</artist><<title>Title</title>
<artist /><title>Title</title>
<artist>Artist</artist><title />
<artist /><title>A title</title>
我在 XSLT 编程方面做得不多,所以我不知道我在常规语言中使用的习语是否适合,如果适合,最好使用哪些 XSLT 语言元素。
这就是我通常的处理方式:
- 计算第一个“-”的位置
- 如果未找到,则按原样返回
title
元素和一个空artist
元素 - 如果在位置 0 找到它,则将其从元素中删除,然后将标记
title
的其余部分作为新元素和一个空元素返回title
title
artist
- 如果在位置 length-3 找到它,则将其从元素中删除,然后将标记
title
的其余部分作为新元素和一个空元素返回title
artist
title
- 如果在大于 0 的位置找到它,将所有内容复制到该位置作为
artist
元素,将其后的所有内容作为新title
元素返回