Ich bekomme Daten aus einer Tabelle, aber Werte zeigen nicht einfach zu manipulieren.Merge zwei Liste mit einigen bedingten
Meine HTML-Struktur wie:
<table>
<tbody>
<tr>
<td>
<span>1</span>
<span>0</span>
<br>
<span>
<span>Good Luck</span>
<img src="/App_Themes/Resources/img/icon_tick.gif" width="3" height="7">
</span>
</td>
</tr>
<tr>
<td>
<b>Nowaday<br></b>
<p>hook<br>zp</p>
</td>
</tr>
</tbody>
</table>
Aber als ich versuchte, Daten zu bekommen wie:
10Good LuckNowadayhookzp
ich diesen Code wurde mit:
ReadOnlyCollection<IWebElement> lstTable = browser.FindElements(By.XPath("table/tbody/tr"));
foreach (IWebElement val in lstTable)
{
ReadOnlyCollection<IWebElement> lstTDElement = val.FindElements(By.XPath("td"));
ReadOnlyCollection<IWebElement> lstSpecialEle =
val.FindElements(By.XPath("//td/span | //td/b | //td/p"));
}
Es erstellt viele Zeilen (in einem <tr>
Tag habe ich etwa 60 gefunden 00), und ich weiß nicht, wie man mit richtigen Spalten arrangiert.
Da jede Spalte Daten kann Null sein oder viele Werte in diesem haben.
Strom, ich habe lstTDElement
enthält zwei Spalten (in Wirklichkeit: 10 Spalten).
Und lstSpecialEle
enthält alle erforderlichen Daten. Ich war Filter nur mit bekommen: [//td/span | //td/b | //td/p]
.
So integrieren Sie lstSpecialEle
zu lstTDElement
mit Rechte-Spalten. Verwenden Sie foreach
mit der Bedingung?
Edited:
Typisch, werde ich von lstTDElement
erhalten ist: 10Good LuckNowadayhookzp
.
lstSpecialEle
erstellt viele Zeilen enthält alle Werte, die ich brauche.
Das Problem ist: Ich weiß nicht, wie Sie alle Zeilen von lstSpecialEle
in einer Tabelle anordnen.
Meine Tabelle hat zwei <tr>
Tag; Das bedeutet, dass es zwei Spalten hat. Wie organisiert man alle Werte in lstSpecialEle
richtig zu diesen Spalten.
Es sollte wie sein:
Num Time
1 0 Good Luck Nowaday hookzp
Wie bereits erwähnt, Daten dynamisch ist, erste <tr>
oder zweite <tr>
nicht Tag wie <span>
haben kann, oder haben nicht Tag <b>
, usw. (es scheint einfach nicht keine neuen <tag>
hinzugefügt)
Ja, ich hinzufügen '.' vor XPath Element und von 6000 Zeilen auf 16 begrenzen -> 30 Zeilen. Und Daten sind dynamisch, daher kann ich nicht die genaue Anzahl von '.// td/span' oder' .// td/b' wissen. Da können bei Spalten X keine Daten vorhanden sein. Haben Sie eine Idee wie Sonderzeichen in Zeilen null einfügen. Um dies zu tun, müssen wir wissen, dass Spalten Zeilen enthalten. – vanloc
@ VănLộc Sie bedeutet, Sie haben die Liste mit der Kombination von Null und genaues Element, das Sie wollen. Recht?? –
@ VănLộc Wenn ich richtig bin, können Sie es einfach mit null Bedingung filtern und Unterliste erhalten. Siehe aktualisierte Antwort. Hoffe, es funktioniert ... :) –