如何在xslt中使用xpath导航xhtml文件?

问题描述 投票:0回答:1

有什么方法可以在xslt中导航xhtml文件usig xpath?所以我有这个xhtml文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
<!--  <link rel="stylesheet" type="text/css" href="stili.css" />  -->   
    <script src="jsorari.js"></script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
<h1 style="text-align: center;">XMLHTTPREQUEST</h1>
<!--<div id="div1"></div>-->
<!--   <p id="txt1"></p>  <p id="txt2"></p>-->

<select id="dega" onchange="changeddl1(this);"></select><br/><br/>

<select id="viti" onchange="changeddl2(this)"></select><br/>

<select id="paralel" name="Paralel"></select><br/>

<button type="button" name="btn" id="btn1" onclick="afishovlera()">Afisho</button>
        </div><br/><br/>

        <table id="afishim"></table>

    </form>
</body>
</html>

让我说我想导航选择id = viti如果有办法,我该怎么做以及应该在xhtml和xslt文件中包括哪些名称空间。请帮助我。

这是完整的xslt文件:

 <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes"/>
    <xsl:variable name="Viti" select="//*[@id='viti']" />
    <xsl:variable name="Paraleli" select="//*[@id='paralel']" />
    <xsl:strip-space elements="*"/>
    <xsl:template match="/">
      <h2>Orari mesimor</h2>
      <table border="1" style="border-collapse:collapse;">
        <tr bgcolor="#71F9FF">
          <th style="text-align:left">Lenda</th>
          <th style="text-align:left">Tipi</th>
          <th style="text-align:left">Pedagog</th>
          <th style="text-align:left">Dita</th>
          <th style="text-align:left">Klasa</th>
          <th style="text-align:left">Ora</th>
          <th style="text-align:left">Viti</th>
          <th style="text-align:left">Paraleli</th>
        </tr>
        <xsl:for-each select="Orare/Orar">    
        <tr>
        <xsl:if test="Viti = $Viti and Paraleli = $Paraleli">
          <td><xsl:value-of select="Lenda"/></td>
          <td><xsl:value-of select="Tipi"/></td>
          <td><xsl:value-of select="Pedagog"/></td>
          <td><xsl:value-of select="Dita"/></td>
          <td><xsl:value-of select="Klasa"/></td>
          <td><xsl:value-of select="Ora"/></td>
          <td><xsl:value-of select="Viti"/></td>
          <td><xsl:value-of select="Paraleli"/></td>
        </tr>    
        </xsl:if>
        </xsl:for-each>    
      </table>
    </xsl:template>
    </xsl:stylesheet>

这是xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='xsltorari.xsl'?>
<Orare>
<Orar>
  <Dega>Bachelor në "Teknologji Informacioni dhe komunikimi"</Dega>
  <Viti>2</Viti>
  <Paraleli>B1</Paraleli>
  <Lenda>Grafe dhe alogoritme</Lenda>
  <Tipi>seminar</Tipi>
  <Pedagog>N/A</Pedagog>
  <Dita>E Martë</Dita>
  <Klasa>Salla I1 (200 C)</Klasa>
  <Ora>17:00-18:00</Ora>
</Orar>
<Orar>
  <Dega>Bachelor në "Teknologji Informacioni dhe komunikimi"</Dega>
  <Viti>3</Viti>
  <Paraleli>A</Paraleli>
  <Lenda>Administrimi dhe siguria e sistemeve</Lenda>
  <Tipi>leksion</Tipi>
  <Pedagog>N/A</Pedagog>
  <Dita>E Hënë</Dita>
  <Klasa>KlasaD3</Klasa>
  <Ora>13:00-14:00</Ora>
</Orar>

我不知道为什么这段代码不起作用。请任何人帮助我。我想根据条件显示xml文件,当xml中的Viti等于select中的$ Viti时。请帮助我。

javascript xml xslt xpath xhtml
1个回答
0
投票

最简单的获取此元素的方法是//*[@id='viti']

© www.soinside.com 2019 - 2024. All rights reserved.