以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XSL/XSLT/XSL-FO/CSS 』 (http://bbs.xml.org.cn/list.asp?boardid=8) ---- Qr用xsl合并两个xml文件[讨论] (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=61644) |
-- 作者:belinda_pjm -- 发布时间:4/21/2008 5:43:00 PM -- Qr用xsl合并两个xml文件[讨论] 1.xml <?xml version="1.0" encoding="utf-8"?> <root> <stu> <sno>001</sno> <sname>张三</sname> <ssex>男</ssex> <sadd>上海</sadd> <sid>1</sid> </stu> <stu> <sno>002</sno> <sname>李四</sname> <ssex>男</ssex> <sadd>湖南</sadd> <sid>2</sid> </stu> </root> 2.xml 3.xsl |
-- 作者:belinda_pjm -- 发布时间:4/22/2008 9:31:00 AM -- 呵呵!我自己做出来了!给大家看看! <xsl:template name ="stu"> <root> <xsl:for-each select="//stu"> <xsl:variable name ="id" select ="sid"/> <stu> <xsl:copy-of select ="./*"/> <xsl:copy-of select="$temp[sid=$id]/sexamid"/> </stu> </xsl:for-each> </root> </xsl:template> |
-- 作者:Qr -- 发布时间:4/22/2008 12:14:00 PM -- 我的代码用xsl:apply-templates ,而你的代码用xsl:for-each ,目的都是要遍历stu节点,难道为同一实现,此二法有本质区别吗? <xsl:apply-templates>元素将模版运用到当前元素(或者是当前元素的子节点)。 在我的代码中,除非必须要用xsl:for-each,我都用xsl:apply-templates进行遍历,这样可以把相关代码模块化,甚至重用,多方便,而且结构清晰,不知道为什么很多人总喜欢用xsl:for-each替代xsl:apply-templates。反正我不喜欢,不信大家可以看我的代码,99%都是用xsl:apply-templates,而不用xsl:for-each。我不是说真的不用xsl:for-each,能不用的地方我都不用。 |
-- 作者:belinda_pjm -- 发布时间:4/22/2008 12:29:00 PM -- 但是我用你的那段代码结果不你所说的结果啊! |
-- 作者:Qr -- 发布时间:4/22/2008 5:55:00 PM -- 那我就不清楚为什么了,因为我的测试结果如下图所示。 我也看不出我的代码有任何问题。如果谁能指出来,我会虚心接受,因为我的的确确只是个非专业的XML FANS。 |
-- 作者:songyz -- 发布时间:5/13/2008 11:51:00 AM -- 我用了Qr的方法,结果在java里面试的时候,总是出现utf-8编码错误,于是我就把两个xml的编码改成GB2312,xslt文件的编码改成UTF-8就没有问题了,不知道是怎么回事? |
-- 作者:Qr -- 发布时间:5/13/2008 1:58:00 PM -- XML的编码,即encoding要与XML文件保存的编码一致,否则提示:编码错误。 当XML的 encoding=GB2312,文件的编码为:ANSI 当XML的 encoding=UTF-8,文件的编码为:UTF-8 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
62.500ms |