如何从第一个<tr bgcolor ..>
中提取内部<tr bgcolor="#FFF000">
<div>
<table>
<tbody>
<tr height="10">
...
<tr bgcolor="#FFF000">
<div>
<table>
<tbody>
<tr height="10">
...
...
?
<tr>
到目前为止我尝试了什么,但它返回所有内部 nodelist = doc.DocumentNode.Descendants().Where
(x => (x.Name == "tr" && x.Attributes["height"] != null && x.Attributes["height"].Value.Contains("10"))).ToList();
:
batchID = str((s3_file.name).split("/"))[32:-13])
答案 0 :(得分:1)
您可以使用CsQuery(这是C#的jQuery端口)。它使用CSS选择器,所以你可以做这样的事情:
var innerTr = dom.Select("tr[bgcolor='#FFF000'] tr").First();
答案 1 :(得分:0)
tr
不能是其他tr
的后代。我假设嵌套标记为td
:
nodelist = doc.DocumentNode.Descendants()
.First(x => x.Name == "tr" && x.Attributes.Contains("bgcolor"))
.Where(x => x.Descendants().Any(y => y.Attributes["height"] != null && x.Attributes["height"].Value.Contains("10")))
.Select(x => x.Descendants())
.ToList()
答案 2 :(得分:0)
您可以将XPath用于此
var tr = doc.DocumentNode.SelectSingleNode("//tr[@bgcolor='#FFF000']//tr[@height='10']");