Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt XPath根据传递的参数查找特定行和相关值_Xslt_Xpath - Fatal编程技术网

Xslt XPath根据传递的参数查找特定行和相关值

Xslt XPath根据传递的参数查找特定行和相关值,xslt,xpath,Xslt,Xpath,我试图根据参数中设置的门牌号从lights节点获取值。问题是,基于某些条件,房屋可能位于不同的行位置 如果发送给我的门牌号参数是house 237,那么如何获取位于row-2-lights节点内的灯号 另外,如果下一次运行时,门牌号是House867,我该怎么做?以下是我的HTML: <?xml version='1.0' encoding='utf-8'?> <table id="neighborhood"> <tr onmouseover="leave(

我试图根据参数中设置的门牌号从lights节点获取值。问题是,基于某些条件,房屋可能位于不同的行位置

如果发送给我的门牌号参数是house 237,那么如何获取位于row-2-lights节点内的灯号

另外,如果下一次运行时,门牌号是House867,我该怎么做?以下是我的HTML:

<?xml version='1.0' encoding='utf-8'?>
<table id="neighborhood">
    <tr onmouseover="leave('1')">
        <td id="row-1-house">
            <div class="houseCol">
                <a href="#" onClick="goHome('867');return false">
                    House867
                </a>
            </div>
        </td>
        <td id="row-1-Lights">
            <div class="decimal">14</div>
        </td>
    </tr>
    <tr onmouseover="leave('2')">
        <td id="row-2-house">
            <div class="houseCol">
                <a href="#" onClick="goHome('237');return false">
                    House237
                </a>
            </div>
        </td>
        <td id="row-2-Lights">
            <div class="decimal">12</div>
        </td>
    </tr>
</table>

您可以尝试以下XPath-1.0表达式。参数是“HouseXXX”字符串,它是元素的子元素

这个的输出是

十二,

在本例中,参数设置为“House237”。如何将参数合并到XPath表达式取决于您的用例场景


例如,在XSLT中,您可以用$HouseNumber之类的变量替换“House237”来设置参数。

我们可以帮助您编写XPath,但您首先必须说明HTML中的哪些内容足够稳定,可以满足您的需要。
/table[@id='neighborhood']/tr[td/div[@class='houseCol']/a[normalize-space(text())='House237']]/td[contains(@id,'Lights')]/div[@class='decimal']/text()