新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] 计算机科学论坛XML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → 关于标签关闭的问题,高手入 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 6306 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 关于标签关闭的问题,高手入 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     Kimi 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:62
      门派:XML.ORG.CN
      注册:2008/1/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Kimi发送一个短消息 把Kimi加入好友 查看Kimi的个人资料 搜索Kimi在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看Kimi的博客楼主
    发贴心情 关于标签关闭的问题,高手入

    XSL文件(c:\test.xsl)如下:
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
     <xsl:template match="/" priority="0">
      <html>
       <div id="abc"></div>
      </html>
     </xsl:template>
    </xsl:stylesheet>

    .NET2.0 (C#) 代码如下:
    XslCompiledTransform xslt = new XslCompiledTransform();
    xslt.Load("c:\\test.xsl");
    StringBuilder sb = new StringBuilder();
    XmlWriterSettings mysetting = new XmlWriterSettings();
    mysetting.Indent = true;
    mysetting.IndentChars = " ";
    XmlWriter writer = XmlWriter.Create(sb, mysetting);
    XmlDocument xml = new XmlDocument();
    xml.LoadXml(“<?xml version=\"1.0\" encoding=\"UTF-8\"?><Root></Root>”);
    xslt.Transform(xml, null, writer);
    re = sb.ToString();

    re的输出为:
    <?xml version=\"1.0\" encoding=\"utf-16\"?>
    <html>
     <div id="abc" />
    </html>

    问题:
    如何让<div id="abc" />保持<div id="abc"></div>不变

    这个问题已经困扰了很久了,哪位高手能告知?先谢过


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/6/11 10:08:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客2
    发贴心情 
    http://blogger.org.cn/blog/more.asp?name=Qr&id=30125
    仅供参考,没有用.NET2.0 (C#) 测试过。

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/6/12 9:01:00
     
     Kimi 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:62
      门派:XML.ORG.CN
      注册:2008/1/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Kimi发送一个短消息 把Kimi加入好友 查看Kimi的个人资料 搜索Kimi在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看Kimi的博客3
    发贴心情 
    先谢谢Qr
    用XML和XSL直接转换后是空元素的结束标记是可以保持完整的。
    我的困扰主要是在.NET2.0中用XslCompiledTransform对象进行转换后无法保持完整的结束标记。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/6/12 9:54:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客4
    发贴心情 
    test.xsl中用<xsl:element>来创建<DIV>试试看。要不就用SAX来写XML咯,我在.NET试过,结束标记可以保持完整。

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/6/12 11:39:00
     
     Kimi 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:62
      门派:XML.ORG.CN
      注册:2008/1/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Kimi发送一个短消息 把Kimi加入好友 查看Kimi的个人资料 搜索Kimi在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看Kimi的博客5
    发贴心情 
    用xsl:element试过了,还是那样。
    “我在.NET试过,结束标记可以保持完整”。能不能把你的代码贴出来看看啊?谢谢。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/6/12 14:21:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客6
    发贴心情 
    你误解我的意思了,我是说,用SAX写XML可以让空节点的结束标记保持完整,这个我曾经用.NET测试过,建议你从这方便考虑。至于SAX写XML的代码,随便搜一下就有了。但是解决你问题的代码没有考虑过,我这里没有.NET环境。
    我看你的代码,似乎是将XML通过XSLT转换成HTML(空标记要有结束标记那种),我BLOG上的那篇文章应该可以解决空标记的问题,尽管我用的不是C#来Transform输出HTML,而是用javascript Transform 为XML,但理论是相同的。你仔再细看看,我这里没有.NET环境,就不去测试了。

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/6/12 16:17:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/6/24 3:32:19

    本主题贴数6,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    77.148ms