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

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → 紧急支授——谢谢! 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4686 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 紧急支授——谢谢! 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     smallfish382 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:4
      积分:70
      门派:XML.ORG.CN
      注册:2007/9/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给smallfish382发送一个短消息 把smallfish382加入好友 查看smallfish382的个人资料 搜索smallfish382在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看smallfish382的博客楼主
    发贴心情 紧急支授——谢谢!

    一XML文件有如下message节点的信息:
                <message level="Info"><![CDATA[C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\..\..\vc\vcpackages\vcbuild.exe /rebuild E:\Build\Build_Src\KWatchEx\Sln\..\Src\UserMode\KWatchEx\KWatchEx.vcproj "Debug|Win32"]]></message>

               <message level="Info"><![CDATA[C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\..\..\vc\vcpackages\vcbuild.exe /rebuild E:\Build\Build_Src\KWatchEx\Sln\..\Src\UserMode\KWatchEx\KWatchEx.vcproj "Release|Win32"]]></message>

    通过XSL来解析
      <xsl:template match="/">
      <xsl:variable name="vcproj.messages" select="$messages[(contains(text(), '.vcproj '))]"/>
      <xsl:variable name="vcproj.messages.count" select="count($vcproj.messages)" />
      </xsl:template>
    其中变量vcproj.messages将是获取满足select的信息,
    C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\..\..\vc\vcpackages\vcbuild.exe /rebuild E:\Build\Build_Src\KWatchEx\Sln\..\Src\UserMode\KWatchEx\KWatchEx.vcproj "Debug|Win32"

    C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\..\..\vc\vcpackages\vcbuild.exe /rebuild E:\Build\Build_Src\KWatchEx\Sln\..\Src\UserMode\KWatchEx\KWatchEx.vcproj "Release|Win32"


    问题1:有何办法只需读取字串中每条信息中类似KWatchEx.vcproj "Debug|Win32"的值,而不是全部。
    问题2:从根节点找下来,会有多条;有何办法将每条信息分开,即每条信息可以与xsl:number value="position()"这序号值对应。

    急需处理,帮忙提供信息,谢谢!祝工作顺利……


    [此贴子已经被作者于2007-9-29 14:22:50编辑过]

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/28 11:19:00
     
     smallfish382 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:4
      积分:70
      门派:XML.ORG.CN
      注册:2007/9/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给smallfish382发送一个短消息 把smallfish382加入好友 查看smallfish382的个人资料 搜索smallfish382在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看smallfish382的博客2
    发贴心情 
    什么意思啊……没人应答。真的是超急啊
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/28 11:26:00
     
     smallfish382 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:4
      积分:70
      门派:XML.ORG.CN
      注册:2007/9/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给smallfish382发送一个短消息 把smallfish382加入好友 查看smallfish382的个人资料 搜索smallfish382在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看smallfish382的博客3
    发贴心情 
    哇,太失败了,竟然没人回答。。还中国XSL论坛
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/29 14:13:00
     
     luypmp 帅哥哟,离线,有人找我吗?天蝎座1983-11-9
      
      
      等级:大二期末(C++考了100分!)
      文章:48
      积分:484
      门派:XML.ORG.CN
      注册:2007/4/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给luypmp发送一个短消息 把luypmp加入好友 查看luypmp的个人资料 搜索luypmp在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看luypmp的博客4
    发贴心情 
    问题1:
    可以使用xpath function中的substring-after("$vcproj.messages","KWatchEx")
    问题2:
    看看这个是否符合你的要求:
    <xsl:for-each select="$vcproj.messages">
        <xsl:value-of select="position()"/>:&nbsp;&nbsp;&nbsp;
        <xsl:value-of select="substring-after("current()","KWatchEx/")"/>
        <br/>
    </xsl:for-each>

    ----------------------------------------------
    没事逛逛bbs.xml.org.cn! ---------自助者天助

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/29 23:10:00
     
     luypmp 帅哥哟,离线,有人找我吗?天蝎座1983-11-9
      
      
      等级:大二期末(C++考了100分!)
      文章:48
      积分:484
      门派:XML.ORG.CN
      注册:2007/4/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给luypmp发送一个短消息 把luypmp加入好友 查看luypmp的个人资料 搜索luypmp在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看luypmp的博客5
    发贴心情 
    如果还不行,楼主把这两个文件全部发到上面,俺在参考参考

    ----------------------------------------------
    没事逛逛bbs.xml.org.cn! ---------自助者天助

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/29 23:13:00
     
     smallfish382 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:4
      积分:70
      门派:XML.ORG.CN
      注册:2007/9/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给smallfish382发送一个短消息 把smallfish382加入好友 查看smallfish382的个人资料 搜索smallfish382在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看smallfish382的博客6
    发贴心情 
    问题1:
    可以使用xpath function中的substring-after("$vcproj.messages","KWatchEx")
    这点,你可能搞错了,,我不单是要找出KWatchEx.vcproj ,,而是还有其它名称

    C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\..\..\vc\vcpackages\vcbuild.exe /rebuild E:\Build\Build_Src\KWatchEx\Sln\..\Src\UserMode\aaaa\aaaa.vcproj "Debug|Win32"
    问题2:
    看看这个是否符合你的要求:
    <xsl:for-each select="$vcproj.messages">
        <xsl:value-of select="position()"/>:&nbsp;&nbsp;&nbsp;
        <xsl:value-of select="substring-after("current()","KWatchEx/")"/>
        <br/>
    </xsl:for-each>

    ("current()",)这个当前是一个函数吗。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/30 12:36:00
     
     smallfish382 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:4
      积分:70
      门派:XML.ORG.CN
      注册:2007/9/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给smallfish382发送一个短消息 把smallfish382加入好友 查看smallfish382的个人资料 搜索smallfish382在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看smallfish382的博客7
    发贴心情 
    <target name="build">
              <task name="foreach">
                <task name="">
                  <task name="echo">
                    <message level="Info"><![CDATA[solution file=E:\Build\Build_Src\KWatchEx\Sln\KWatchEx.sln]]></message>
                    <duration>0</duration>
                  </task>
                  <task name="property">
                    <duration>0</duration>
                  </task>
                  <duration>0</duration>
                </task>
                <duration>15.624600000000001</duration>
              </task>
              <task name="echo">
                <message level="Info"><![CDATA[build_Debug_Args=/t:Rebuild /p:Configuration=Debug]]></message>
                <duration>0</duration>
              </task>
              <task name="exec">
                <message level="Info"><![CDATA[Microsoft (R) Build Engine Version 2.0.50727.832]]></message>
                <message level="Info"><![CDATA[[Microsoft .NET Framework, Version 2.0.50727.832]]]></message>
                <message level="Info"><![CDATA[Copyright (C) Microsoft Corporation 2005. All rights reserved.]]></message>
                <message level="Info"><![CDATA[Build started 2007/9/30 下午 12:57:33.]]></message>
                <message level="Info"><![CDATA[__________________________________________________]]></message>
                <message level="Info"><![CDATA[Project "E:\Build\Build_Src\KWatchEx\Sln\KWatchEx.sln" (Rebuild target(s)):]]></message>
                <message level="Info"><![CDATA[Target ValidateSolutionConfiguration:]]></message>
                <message level="Info"><![CDATA[Building solution configuration "Debug|Win32".]]></message>
                <message level="Info"><![CDATA[Target Rebuild:]]></message>
                <message level="Info"><![CDATA[Target KWatchEx:Rebuild:]]></message>
                <message level="Info"><![CDATA[C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\..\..\vc\vcpackages\vcbuild.exe /rebuild E:\Build\Build_Src\KWatchEx\Sln\..\Src\UserMode\KWatchEx\KWatchEx.vcproj "Debug|Win32"]]></message>
                <message level="Info"><![CDATA[1 Warning(s)]]></message>
                <message level="Info"><![CDATA[6 Error(s)]]></message>
              </task>
              <task name="echo">
                <message level="Info"><![CDATA[build_Release_Args=/t:Rebuild /p:Configuration=Release]]></message>
                <duration>0</duration>
              </task>
              <task name="exec">
                <message level="Info"><![CDATA[Microsoft (R) Build Engine Version 2.0.50727.832]]></message>
                <message level="Info"><![CDATA[Building solution configuration "Release|Win32".]]></message>
                <message level="Info"><![CDATA[Target Rebuild:]]></message>
                <message level="Info"><![CDATA[Target KWatchEx:Rebuild:]]></message>
                <message level="Info"><![CDATA[C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\..\..\vc\vcpackages\vcbuild.exe /rebuild E:\Build\Build_Src\KWatchEx\Sln\..\Src\UserMode\KWatchEx\KWatchEx.vcproj "Release|Win32"]]></message>      
                <message level="Info"><![CDATA[1 Warning(s)]]></message>
                <message level="Info"><![CDATA[6 Error(s)]]></message>
                <message level="Info"><![CDATA[Time Elapsed 00:00:01.96]]></message>
                <message level="Error"><![CDATA[E:\Build\Build_Src\KWatchEx\Build\Public\ComplierSource.build.xml(34,17):
    External Program Failed: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe (return code was 1)]]></message>
                <duration>2437.4376</duration>
              </task>


    我要找出如下的信息,并隔开显示出来,有多少条就对应多少序号。
    name =KWatchEx.vcproj
    Warning=1
    Error =6

    序号1:
                <message level="Info"><![CDATA[C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\..\..\vc\vcpackages\vcbuild.exe /rebuild E:\Build\Build_Src\KWatchEx\Sln\..\Src\UserMode\KWatchEx\KWatchEx.vcproj "Debug|Win32"]]></message>
                <message level="Info"><![CDATA[1 Warning(s)]]></message>
                <message level="Info"><![CDATA[6 Error(s)]]></message>


    序号2:
                <message level="Info"><![CDATA[C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\..\..\vc\vcpackages\vcbuild.exe /rebuild E:\Build\Build_Src\KWatchEx\Sln\..\Src\UserMode\KWatchEx\KWatchEx.vcproj "Release|Win32"]]></message>      
                <message level="Info"><![CDATA[1 Warning(s)]]></message>
                <message level="Info"><![CDATA[6 Error(s)]]></message>

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/9/30 13:03:00
     
     luypmp 帅哥哟,离线,有人找我吗?天蝎座1983-11-9
      
      
      等级:大二期末(C++考了100分!)
      文章:48
      积分:484
      门派:XML.ORG.CN
      注册:2007/4/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给luypmp发送一个短消息 把luypmp加入好友 查看luypmp的个人资料 搜索luypmp在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看luypmp的博客8
    发贴心情 
    我上面的回复有些写错了,不好意思,不过已经做出有点效果了
    node-set current()
    Returns a node set that has the current node as its only member.
    <xsl:value-of select="current()"/> is the same as
    <xsl:value-of select="."/>

    <xsl:template match="/">
      <xsl:call-template name="sep">
       <xsl:with-param name="vcproj.messages" select="//message[(contains(text(), '.vcproj '))]"/>
      </xsl:call-template>
     </xsl:template>
     <xsl:template name="sep">
      <xsl:param name="vcproj.messages"/>
      <xsl:for-each select="$vcproj.messages">
       <xsl:value-of select="position()"/>
       <xsl:value-of select="substring-after(current(),'KWatchEx')"/>
       <br/>
      </xsl:for-each>
     </xsl:template>

    以后在慢慢研究,今天没时间了

    ----------------------------------------------
    没事逛逛bbs.xml.org.cn! ---------自助者天助

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

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

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