我有以下網頁,我正試圖用xpath解析。使用Xpath解析HTML
對於第一個表xpath //*[@id="eForm"]/table[1]
工作正常,對於第二個表xpath //*[@id="eForm"]/table[2]
工作正常。
但是我想要做的不是在我的聲明中使用親屬,以防頁面順序發生變化。
對於第二個表,它遵循代理的跨度id。任何人都可以告訴我,如果我可以在xpath表中指定跨度ID後的表格嗎?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>Blah</title>
<style type="text/css">
</style>
</head>
<body class="frame">
<div id="container">
<div id="maincontent">
<h1>Details</h1>
<br>
<form name="Form" method="post" action="xxx" id="eForm">
<input type="hidden" name="__VIEWSTATE" value="xxx" />
<table class="summary">
<thead>
<tr>
<th colspan="2">
SUmmary Heading
</th>
</tr>
</thead>
<tr>
<th width="40%">
</th>
<td>
ABC Ltd
</td>
</tr>
<tr>
<th>
Number
</th>
<td>
1234
</td>
</tr>
<tr>
<th>
Company Type
</th>
<td>
Normal Type
</td>
</tr>
<tr>
<th>
Office
</th>
<td>
Street Address is Here
</td>
</tr>
<tr>
<th>
Date of Incorporation
</th>
<td>
24/02/2014
</td>
</tr>
<tr>
<th>
Status
</th>
<td>
LIVE
</td>
</tr>
</table>
<span id="Agent">
<br>
</span>
<table class="summary">
<thead>
<tr>
<th colspan="2">
Agent Details
</th>
</tr>
</thead>
<tr>
<th width="40%">
Registered Agent
</th>
<td>ABC COMPANY LIMITED</td>
</tr>
<tr>
<th>
Agent Address
</th>
<td>Street Address</td>
</tr>
</table>
<!----><br>
<br>
</form>
</div>
</div>
</body>
</html>
感謝您的回覆,但我不能得到這個在我的應用程序的工作 - 是否有任何工具來幫助檢查出針對專門的網頁語法? – John
@John,你可以使用FireFox的Firebug + Firepath插件。 順便說一句,我已經編輯過初始答案,'// [@ id ='eForm']'必須是'// form [@ id ='eForm']'或'// * [@ id ='eForm' ]' –
@亞歷山大,謝謝你糾正我的答案。 John as Alexander說你可以使用Firebug檢查你的xpthes。請讓我知道,如果你仍然有這個問題。 – Andrii