Xpath 语法

最近做的项目的框架是xml传递_

 

前台纯js 后台spring2.0 hibernate3_ 貌似还有jsf,因为是2次开发,加了很多东西jsf我只是调试了一下,剩下的就写

 

js和后台java代码了——在看jsf时候很新颖。不过看着看着就烦了。jsf的页面设计也和后台弄到一起了。而且前台也不好

 

弄,相当的麻烦~ 我服了,不提jsf了(上对jsf是我个人的意见~)。 后来我们都弄jsp了(反正是异步的~_~)

 

说传递数据把。都是xml格式的 页面用了js控制xsl解析xml , js怎么创建XMLHttpRequest就不说了。怎么用js调用xsl

 

解析xml那

 

1 比如一个方法访问后台返回数据是xml

 

//service是后台封装的一个js类,这个就是读到xsl。(就是用创建的XMLHttpRequest.load出来的)

var xslDoc=service.getFile("../xsl/tasklist.xsl");

 

function callback(nd)
{

 try{
  var strHtml=nd.transformNode(xslDoc); //此方法就是用xsl读取xml----transformNode方法哦
     //strHtml 这就是解析的html,得到这个xml就innerHTML到html标签里面就好了
 }catch(e){}
}

 

我们来看段xsl

 

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html" encoding="gb2312"/><!--这个很重要哦 表示输出的是html-->

<xsl:template match="/">
  <xsl:for-each select="//subData">
   <div id="subData1">
    <table id="subTable" name="subTable" width="90%"
     bgcolor="#F2F6FF" cellspacing="1" cellpadding="3" align="center"
     border="0" style="border: 1px solid #92A8D1;">
     <tr>
      <td style="text-align:left">
         网站域名:
       <input id="domainname" name="domainname"
        type="text" class="INPUT" value="{@domain}" size="30" />
         IP 地址:
       <input name="ipaddr" type="text"
        class="INPUT" value="{@ipaddr}" size="15" />
         服务器托管地点:
       <input name="realAddr" type="text"
        class="INPUT" value="{@realAddr}" size="30" />
       <div>( 例如: http://www.sohu.com )</div>
      </td>
     </tr>
     <tr>
      <td style="text-align:left">
       网站域名所有者:
       <input name="owner"  value="{@owner}" type="text"
        class="INPUT" size="30" />
         中文网名:
       <input name="chineseName" value="{@chineseName}" type="text"
        class="INPUT" size="30" />
         关键字:
       <input name="keyWord" value="{@keyWord}" type="text"
        class="INPUT" size="30" />
      </td>
     </tr>
     <tr>
      <td style="text-align:left">
         关键词类型:
       <select id="mcname" name="mcname" style="z-index:0;">
        <xsl:value-of select="@mcname" />
       </select>
         网站类型:
       <select id="webtype" name="webtype"
        style="z-index:0;">
        <xsl:value-of select="@webtype" />
       </select>
             <a
        title="隐藏" href="javascript:;"
        οnclick="javascript:hide(this.parentNode.parentNode.parentNode.parentNode);">
        隐藏
</a>
         <a title="删除"
        href="javascript:;"
        οnclick="javascript:hideDelete(this.parentNode.parentNode.parentNode.parentNode);">
        删除
</a>
      </td>
     </tr>
    </table>
   </div>
  </xsl:for-each>
 </xsl:template>

</xsl:stylesheet>

 

 

到了Xpath 了

 

xsl里解析时候 

 

//id     找到元素名字为id的

/id      从根元素找

.         标识当前节点

..        标识上层节点

 

//id/@name 标识找到元素名字为id的name的属性  <id name="111"/>

//Data[@name=\"taskinfo\"]/SubData[@name=\"worktime\"]/@value  这个找到的是下面的123

<Data name="taskinfo">

   <SubData name="worktime" value="123"/>  

   <SubData name="other" value="567"/>

</Data>

 

  <xsl:for-each>

 <xsl:value-of select="position()"/> <!--循环的次数。。-->

</xsl:for-each>

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值