有没有办法选择一个元素,它位于一个元素之后,用XQL满足某些条件? 我有以下结构:
<parent>
<child>
<a>AA</a>
</child>
<child>
<a>BB</a>
</child>
<child>
<a>CC</a>
</child>
<child>
<a>DD</a>
</child>
<child>
<a>EE</a>
</child>
我希望/ child / a的值位于/ child / a ='DD'之后 使用xPath我正在使用
/parent/child[./a = 'DD']/following::child/a
但XQL中没有following
或following-sibling
函数。
答案 0 :(得分:0)
使用序列运算符';;' (在前)和';' (紧随其后。)。 尽管这些运算符未包含在XQL规范中。
示例: 输入以下内容:
if(is_object($result))
{
while ($resultsArray =$result->fetch_assoc())
{
if(empty($data))
{
$data[] = array_keys($resultsArray);
}
$data[] = $resultsArray;
} var_dump($data);
}
找到包含“ Shady Grove”的TD节点和紧随其后的TD节点:
<TABLE>
<ROWS>
<TR>
<TD>Shady Grove</TD>
<TD>Aeolian</TD>
</TR>
<TR>
<TD>Over the River, Charlie</TD>
<TD>Dorian</TD>
</TR>
</ROWS>
</TABLE>
示例: 输入以下内容(来自“哈姆雷特”):
//(TD="Shady Grove" ; TD)
返回STAGEDIR及其后面的所有行:
<SPEECH>
<SPEAKER>MARCELLUS</SPEAKER>
<LINE>Tis gone!</LINE>
<STAGEDIR>Exit Ghost</STAGEDIR>
<LINE>We do it wrong, being so majestical,</LINE>
<LINE>To offer it the show of violence;</LINE>
<LINE>For it is, as the air, invulnerable,</LINE>
<LINE>And our vain blows malicious mockery.</LINE>
</SPEECH>
供参考link