小编Rom*_*cke的帖子

XPath首先选择所有内容<br />

我有这个XML:

<test>
  <a>
    abc
    <xyz />
    def
    <br />
    ghi jkl
    <br />
    mno pqr
  </a>
  <a>
    xxx
  </a>
</test>
Run Code Online (Sandbox Code Playgroud)

在每个<a>我需要选择所有子节点(甚至文本),直到第一个<br />.如果没有<br />,我需要选择给定的所有子节点<a>.所以预期的结果是:

abc
<xyz />
def
Run Code Online (Sandbox Code Playgroud)

xxx
Run Code Online (Sandbox Code Playgroud)

我可以<br />像这样选择"之前的一切":

//a/*[following::br]
Run Code Online (Sandbox Code Playgroud)

...但它会在最后一个 之前选择所有内容<br />.我需要在一个之前选择所有内容.我试过这样的:

//a/*[following::br[1]]
Run Code Online (Sandbox Code Playgroud)

......与以前的结果相同.这些也不选择"非<br />"中<a>的节点.

我怎样才能使用(可单一的)XPath表达式?谢谢你的任何建议.

xml xpath

4
推荐指数
1
解决办法
827
查看次数

检查值是否小于另一个值

我知道这可能看起来很愚蠢,但我无法相互检查2个值.以下代码我多次使用它们并且它们可以工作,但在一个实例中它只是做了奇怪的事情.在头版我得到:

<input type=\"text\" name=\"v571\" id=\"v571\" value=\"\" size=\"18\"/>
<input type=\"hidden\" name=\"v571a\" id=\"v571a\" value=\"140\"/>
Run Code Online (Sandbox Code Playgroud)

在js脚本中我有:

if( $('#v571').val() > $('#v571a').val()) {
    $('#v571').addClass('error');
    error++;
} 
Run Code Online (Sandbox Code Playgroud)

这些是结果:

if v571 betweem 100 and 140 -> no error (should get no error)
if v571 less then 100 -> error (should get an error)
if v571 bigger then 140 -> error (should get an error)
if v571 bigger then 140 , but the number starts with 1 (eg: 1000, 1200, 12312, 1xxx...) -> no error (should get an …
Run Code Online (Sandbox Code Playgroud)

html jquery

0
推荐指数
1
解决办法
9043
查看次数

标签 统计

html ×1

jquery ×1

xml ×1

xpath ×1