以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 XSL/XSLT/XSL-FO/CSS 』 (http://bbs.xml.org.cn/list.asp?boardid=8) ---- 用xslt转换xml到xml时老转不过来,急急急!!!! (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=9313) |
-- 作者:txcdhp -- 发布时间:8/12/2004 10:03:00 AM -- 用xslt转换xml到xml时老转不过来,急急急!!!! 用xslt转换xml到xml时老转不过来,为什么? 要转的xml文档如下: <?xml version="1.0" ?> <?xml-stylesheet type="text/xsl" href="ElemsToAttS.xsl"?> <people> <name> <first>John</first> <middle>Fitzgerald Johansen</middle> <last>Doe</last> </name> <name> <first>Franklin</first> <middle>D.</middle> <last>Roosevelt</last> </name> <name> <first>Alfred</first> <middle>E.</middle> <last>Neuman</last> </name> <name> <first>John</first> <middle>Q.</middle> <last>Public</last> </name> <name> <first>Jane</first> <middle>dsf</middle> <last>Doe</last> </name> </people>
xslt文件ElemsToAttS.xsl如下: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> </xsl:stylesheet> |
-- 作者:kittypig -- 发布时间:8/12/2004 11:55:00 AM -- 要实现你的转换,我觉得将你的ElemsToAttS.xsl写成这样就可以啊,而且我刚才已经测试了,能够转换成功 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="UTF-8" indent="yes"/> <xsl:template match="people"> |
-- 作者:txcdhp -- 发布时间:8/12/2004 5:13:00 PM -- 那为什么我用浏览器打开那个xml文档,显示的不是xml文档而是如下内容呢?: JohnFitzgerald JohansenDoeFranklinD.RooseveltAlfredE.NeumanJohnQ.Pu blicJanedsfDoe |
-- 作者:kittypig -- 发布时间:8/12/2004 5:37:00 PM -- 我没有直接用浏览器打开,而是写的javascript,先load了这个xml,再load这个xslt,然后用 xmlDoc.loadXML(xmlDoc.documentElement.transformNode(xslDoc))转换的,我把这个转换后的xml用弹出框看了的,是对的啊 |
-- 作者:kittypig -- 发布时间:8/12/2004 5:42:00 PM -- 不过我在xml里没用你<?xml-stylesheet type="text/xsl" href="ElemsToAttS.xsl"?> 这句话,我用了,在IE里就看不到这个xml了 |
-- 作者:kittypig -- 发布时间:8/12/2004 5:48:00 PM -- function init() { xmlDoc = new ActiveXObject('MSXML2.DOMDocument'); xmlDoc.async = false; xslDoc = new ActiveXObject('MSXML2.DOMDocument'); xslDoc.async = false; xmlDoc.load("people.xml"); alert(xmlDoc.xml); xslDoc.load("ElemsToAttS.xslt"); alert(xslDoc.xml); xmlDoc.loadXML(xmlDoc.documentElement.transformNode(xslDoc)); alert(xmlDoc.xml); } |
-- 作者:kittypig -- 发布时间:8/12/2004 5:52:00 PM -- 用xslt或xsl是没有关系的,我都能用javascript转化,并能正确显示,但是就是不能在xml里没用<?xml-stylesheet type="text/xsl" href="ElemsToAttS.xsl"?>这句话,在IE里还是什么都看不 |
-- 作者:txcdhp -- 发布时间:8/12/2004 6:02:00 PM -- 谢谢呢作了这么精辟的回复!我是在xmlspy里面作的,如果不写<?xml-stylesheet type="text/xsl" href="ElemsToAttS.xsl"?>的话,就抱错,可能是jscript里面只要你load了xslt文档,程序就没认为是那个xslt,我先试试吧,谢谢阿! 可不可以留个QQ或EMAIL什么的
|
-- 作者:kittypig -- 发布时间:8/12/2004 6:04:00 PM -- email吧:cnlppl@yahoo.com.cn,下班了,88 |
-- 作者:txcdhp -- 发布时间:8/13/2004 9:00:00 AM -- 真奇怪,那我用开始的那个xsl怎么不行呢?就是开始用了“attribute-sets”那个,jscript也alert不出来,后来我用了你改了的那个xsl就行了,我想应该是一样的阿,另外在xmlspy里面还是转不了,她跟本就没显示 |
-- 作者:laofuzhou -- 发布时间:8/19/2004 2:58:00 PM -- 我想你开头那个,转不了是因为: <xsl:template match="/"> <xsl:element name="people"> <xsl:apply-templates select="/people"/> </xsl:element> </xsl:template> 中建那个<xsl:apply-templates select="/people"/>是无法找到匹配的template的 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
500.000ms |