在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
<root>
<item>abcdefabcdeabcdef</item>
</root>
要求写XSL来转换该XML,输出中item的内容中所有的b都要变成B,普通XSL不能完成
嵌javascript的解决方法: XSL如下:
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:myNS="urn:myNameSpace"> <msxsl:script language="JScript" implements-prefix="myNS"> <![CDATA[ function trans(s) { var ary = s.split('b'); return ary.join('B'); } ]]> </msxsl:script> <xsl:template match="/">
<xsl:apply-templates select="//root/item"/> </xsl:template> <xsl:template match="root/item">
<xsl:value-of select="myNS:trans(string(.))"/> </xsl:template> </xsl:stylesheet>
联想到了什么?
Script可以不是JScript, 而是C#:
<msxsl:script language="c#" implements-prefix="myNS">
<![CDATA[ public string trans(string s) { string[] ary = s.Split('b'); return string.Join('B', ary); } ]]> </msxsl:script> 但只能是用 .net framework 的 System.Xml 来解析,
而不是客户端常用的 msxml。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=130529 |
请发表评论