请问如果使用xslt转换带命名空间的xml文件

billok 2003-08-22 01:23:32
如果是不带命名空间的xml文件我就可以用xslt转换成功,但碰到有命名空间,就转换失败,请问如果解决这个问题,最好有实例,没有也可以.谢谢
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
billok 2003-08-22
  • 打赏
  • 举报
回复
可以了,就只在xsl中加入带前缀的命名空间就可以了,谢谢。
billok 2003-08-22
  • 打赏
  • 举报
回复
还有可以帮忙的吗?争取今天结帖
billok 2003-08-22
  • 打赏
  • 举报
回复
你的方法就是加了xmlns:m="urn:moonpiazza“是不是,不过我的xml文件不使用前缀啊,这种情况你在xsl如何解决
月光易水 2003-08-22
  • 打赏
  • 举报
回复
在xsl中定义相应的命名空间
try:

/*** a.xml ***/
<?xml version="1.0" encoding="gb2312" ?>
<?xml-stylesheet type="text/xsl" href="a.xsl"?>
<m:books xmlns:m="urn:moonpiazza">
<m:book>
<m:title>极限编程研究</m:title>
<m:price>70</m:price>
<m:author>Giancarrio Succi/Michele Marchesi/张辉(译)</m:author>
</m:book>
</m:books>

/*** a.xsl ***/
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:m="urn:moonpiazza" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<table border="1" width="500">
<xsl:for-each select="m:books/m:book/*">
<tr>
<td width="70"><xsl:value-of select="name()" /></td>
<td><xsl:value-of select="." /></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>


:_)

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧