html代码
<meta charset="UTF-8">
<script type="text/javascript">
function test() {
//...
}
</script>
<table class=eee>
<tr>
<td>{$my_name}</td>
<td>{$my_name}</td>
<td>{$my_name}</td>
</tr>
</table>
<div class=aaa>
<ul>{$member}</ul>
<li><img src="test1.com">{$good_list} </li>
<li><img src="test2.com">{$good_list} / {$regdate}</li>
<li><img src="test3.com">{$good_list} / {$regdate}</li>
</div>
<ul class="aaa">
<li>{$good_list}</li>
<li>{$good_list}</li>
</ul>
<div class="bbb">
<li>{$user_name}</li>
</div>
<ul class='ccc'>
<li>{$board_list}</li>
<li>{$board_list}</li>
<li>{$board_list}</li>
</ul>
<div class=ddd>
<ul>
<li>{$board_list}</li>
<li>{$board_list}</li>
<li>{$board_list}</li>
</ul>
</div>
<ul class='hhh'>
<li>{$regdate}</li>
<li>{$regdate}</li>
<li>{$regdate}</li>
<li>{$regdate}</li>
<li>{$regdate}</li>
</ul>
<div class="aaa">
<li><img src="test.com">{$good_list} / : {$regdate}</li>
<li><img src="test.com">{$good_list} / : {$regdate}</li>
<li><img src="test.com">{$good_list} / : {$regdate}</li>
</div>
<div class='zzz'>
<table>
<tr>
<td>num</td>
<td>subject</td>
<td>wdate</td>
</tr>
<tr>
<td>{$num}</td>
<td>{$list}</td>
<td>{$regdate}</td>
</tr>
<tr>
<td>{$num}</td>
<td>{$list}</td>
<td>{$regdate}</td>
</tr>
<tr>
<td>{$num}</td>
<td>{$list}</td>
<td>{$regdate}</td>
</tr>
<tr>
<td>{$num}</td>
<td>{$list}</td>
<td>{$regdate}</td>
</tr>
<tr>
<td>{$num}</td>
<td>{$list}</td>
<td>{$regdate}</td>
</tr>
</table>
</div>
我想替换
结果
<meta charset="UTF-8">
<script type="text/javascript">
function test() {
//...
}
</script>
<table class=eee>
<tr>
<td>{$my_name[0]}</td>
<td>{$my_name[1]}</td>
<td>{$my_name[2]}</td>
</tr>
</table>
<div class=aaa>
<ul>{$member}</ul>
<li><img src="test1.com">{$good_list[0]} </li>
<li><img src="test2.com">{$good_list[1]} / {$regdate[1]}</li>
<li><img src="test3.com">{$good_list[2]} / {$regdate[2]}</li>
</div>
<ul class="aaa">
<li>{$good_list[0]}</li>
<li>{$good_list[1]}</li>
</ul>
<div class="bbb">
<li>{$user_name}</li>
</div>
<ul class='ccc'>
<li>{$board_list[0]}</li>
<li>{$board_list[1]}</li>
<li>{$board_list[2]}</li>
</ul>
<div class=ddd>
<ul>
<li>{$board_list[0]}</li>
<li>{$board_list[1]}</li>
<li>{$board_list[2]}</li>
</ul>
</div>
<ul class='hhh'>
<li>{$regdate[0]}</li>
<li>{$regdate[1]}</li>
<li>{$regdate[2]}</li>
<li>{$regdate[3]}</li>
<li>{$regdate[4]}</li>
</ul>
<div class="aaa">
<li><img src="test.com">{$good_list[0]} / : {$regdate[0]}</li>
<li><img src="test.com">{$good_list[1]} / : {$regdate[1]}</li>
<li><img src="test.com">{$good_list[2]} / : {$regdate[2]</li>
</div>
<div class='zzz'>
<table>
<tr>
<td>num</td>
<td>subject</td>
<td>wdate</td>
</tr>
<tr>
<td>{$num[0]}</td>
<td>{$list[0]}</td>
<td>{$regdate[0]}</td>
</tr>
<tr>
<td>{$num[1]}</td>
<td>{$list[1]}</td>
<td>{$regdate[1]}</td>
</tr>
<tr>
<td>{$num[2]}</td>
<td>{$list[2]}</td>
<td>{$regdate[2]}</td>
</tr>
<tr>
<td>{$num[3]}</td>
<td>{$list[3]}</td>
<td>{$regdate[3]}</td>
</tr>
<tr>
<td>{$num[4]}</td>
<td>{$list[4]}</td>
<td>{$regdate[4]}</td>
</tr>
</table>
我想要这个结果
我日夜都在努力解决这个问题,但我最终没有解决它。请你帮忙。 我很感激你的帮助。
在每个类区域中,我们希望根据类名转换子代码。
如果您可以使用xpath,query和getElementByTagName来获取输出,那将是很好的,但您也可以使用其他方法。
答案 0 :(得分:0)
这是一个XSLT 3.0解决方案:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs"
version="3.0">
<xsl:mode on-no-match="shallow-copy"/>
<xsl:template match="text()[normalize-space()]">
<xsl:variable name="var" select="replace(., '^\{\$' || '([a-z_]+)' || '.*$', '$1')"/>
<xsl:variable name="n">
<xsl:number level="any" start-at="0"
count="text()[starts-with(.,'{$' || $var)]" from="*[@class]"/>
</xsl:variable>
<xsl:value-of select="replace(., '\{\$([a-z_]+)\}',
'{\$$1[' || $n || ']')"/>
</xsl:template>
</xsl:stylesheet>
它要求输入是格式良好的XML,您可能需要在现有HTML上运行一个整洁的实用程序来实现它。