javascript - 如何在 xslt 中使用 xpath 来导航 xhtml 文件?
问题描述
有什么方法可以在 xslt 中使用 xpath 导航 xhtml 文件?所以我有这个 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 的 Viti 等于来自 select 的 $Viti 时,我想根据条件显示 xml 文件。请帮我。
解决方案
获取此元素的最简单方法是//*[@id='viti']
推荐阅读
- python - 将命令传递给 PUTTY
- javascript - 扩大
- 工作正常,但如果有链接,默认情况下它也会点击然后展开,这不应该是这种情况
- css - 浏览器支持方向(纵向和横向)
- jquery - 如果顶部 = 前一个兄弟的底部,则 JQuery 从元素中删除类
- powershell - 如何允许 powershell 接受命名参数的空字符串?
- firebase - firebase/firestore 中的安全性
- java - 使用 java Annotations 生成 Postgresql 表
- swift - WKWebView 在通过 PerfectHTTPServer 提供服务时无法加载静态文件
- cordova - 无法连接到 Firebase
- java - Vs Code 在 java maven 项目上显示奇怪的错误