选择所有在<script>...</script>标签之后的标签的XPath表达式

3

我有一些问题,想使用XPath获取<script><script/>之后的所有HTML标签。

我的HTML代码:

<table dir="rtl"...>
    <tbody>
    <tr>..</tr>
    <script src = get.aspx?type=js&file=ajax&rev=3 ....>
    <script language="JavaScript".....>
    <script>...<script>
    <tr>..</tr>
    <tr>..</tr>
    <tr>..</tr>
    <tr>..</tr>
    <tr>..</tr>

我希望能够在XPath中获取script标签后的所有标签。

这是网页链接: 来源


如果你想获得文档的其余部分,你可能不应该使用XPath。SAX解析可能会更有效。当你为元素解析实现回调函数时,检查它是否为 script 并将 BOOL hitJavascript 设置为 YES,然后当你解析 tr 时检查 if(hitJavascript),并在你进入 tr 时对内部的 td 进行处理。 - user244343
1个回答

2
您发布的HTML中,在<script language="JavaScript".....>后有一个<script>...<script>1,但源代码中没有额外的<script>标签。

对于源HTML,此XPath有效:

//script[@language="JavaScript"]/following::tr

1 你是说<script>...</script>吗?


感谢。这个方法可以获取脚本内的文本,但我想选取脚本后面的所有<tr>元素。 - adellam
在这种情况下,将 following::* 改为 following::tr - unutbu
在每个脚本后面的<tr>中都有许多<td>。例如,第二个<tr>包含许多(td id="jm0x1")(td id="jm0x2"),但我无法访问它们。我需要帮助。 - adellam
谢谢darvids0n的回答。我对HTML解析很新,并且正在使用HPPLE在iPhone上解析HTML,我该如何使用SAX解析? - adellam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接