假設我有這樣的HTML文件:連接兩個節點集使用XPath
<html>
<table class="class1">
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
<table class="class2">
<tr>
<td>a</td>
<td>b</td>
<td>c</td>
<td>d</td>
<td>e</td>
</tr>
</table>
<table class="class3">
<tr>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
</table>
</html>
我想查詢使用XPath該文件以得到這樣的結果:1234512345,此代碼:
var xNavigator = xPathDoc.CreateNavigator();
var iterator = xNavigator.Select("//html/table[@class='class1']/tr/td|//html/table[@class='class3']/tr/td");
while (iterator.MoveNext())
Console.Write(iterator.Current.InnerXml);
但結果是:1212345345
您知道如何獲得1234512345而不是1212345345?
謝謝。
我想我知道你想要什麼,但這個例子是不明確的。對其進行更改,以便表格單元格具有唯一值(對於class1表可能是1-4,對於class3表可能是A-F)。然後描述你想要的。 –
我但它是這樣的,因爲每個單元格都有它自己的數據(類型:日期可能或特定值)!但是那裏的數字即將告訴你需要按順序存儲這些數據:來自表calss1的所有單元格隨後是表class2中的所有單元格,並且一次又一次 –
請注意,「|」不是連接運算符,而是聯合運算符。 XPath 1.0中沒有節點集連接操作符,因爲集沒有定義的順序,所以連接沒有意義。爲了跟蹤自定義順序,您需要序列,這需要XPath 2.0。或者像@MichaelGunter建議的那樣使用C#環境的功能。 – LarsH