嵌套href的XPath查询

时间:2013-12-23 23:48:21

标签: xml xpath

我需要从下面的代码解析这个长号:15-20001963-5-25580855-2-0-0-1-1-0-0-0-0-0-1-0-0-0-0,我不知道要使用的确切XPATH查询。

有人可以编写XPath来提取值吗?

<div id="menu">
    <div id="splash">
        <div id="menuItem_1" class="ScreenTitle">Darts</div>
        <div id="menuItem_2" class="Title">In-Play</div>
        <div id="subMenu_2">
            <div id="menuItem_3" class="Level2">
                <a href="../coupon/?ptid=0&amp;key=15-20001963-5-25580855-2-0-0-1-1-0-0-0-0-0-1-0-0-0-0">
                    Adrian Lewis v Vincent van der Voort<br/>
                    <span class="Score">2-1</span>
                    <span class="Score">Set 4</span>
                </a>
            </div>
            <input id="IPCD" type="hidden" value="1~~False~True" />
            <input type="hidden" id="refresh" value="no">
        </div>
    </div>
</div>

2 个答案:

答案 0 :(得分:2)

用于获取包含您的号码的href元素的<a> attiribute的XPath表达式可以是:

 id('menuItem_3')/a/@href

这会得到一个字符串值:

  

../优惠券/点名= 0&安培;键= 15-20001963-5-25580855-2-0-0-1-1-0-0-0-0-0-1-0-0-0 -0

然后你需要解析。如何获取数字的具体实现取决于您正在使用的解析引擎和/或编程语言,但XPath在这里不会帮助您。

答案 1 :(得分:2)

以下XPath将使用substring-after() function从提供的XML输入中选择值15-20001963-5-25580855-2-0-0-1-1-0-0-0-0-0-1-0-0-0-0,以选择href值中“key =”之后的子字符串。

substring-after(//div[@id='menuItem_3']/a/@href,'key=')