如何使用 anglesharp 从 HTML table 中删除所有行?
How is it possible to remove all rows from the HTML table using anglesharp?
如何使用 anglesharp 从 HTML table 中删除所有行?
我正在尝试删除 table 中的所有行。 I've read this documentation,但不会删除行。
我的代码如下所示:
public void DeleteRows(IElement table)
{
foreach (var row in table?.QuerySelectorAll("tr"))
{
row.Remove();
}
var lengthAfterDeletion = table?.QuerySelectorAll("tr")?.Length;
}
如何使用 anglesharp 从 HTML table 中删除所有行?
我想我们同时解决了这个问题(参见 https://github.com/AngleSharp/AngleSharp/issues/838)。
仅供将来参考(以防其他人遇到同样的问题,这种情况很容易发生):
public void DeleteRows(IElement table)
{
var rows = table?.QuerySelectorAll("tr").ToArray();
foreach (var row in rows)
{
row.Remove();
}
var legnthAfterDeletion = table?.QuerySelectorAll("tr")?.Length;
}
关键是在更改 DOM 之前获取结果的静态快照。因此,来自 LINQ 的 .ToArray()
可以应用于任何迭代器。
如何使用 anglesharp 从 HTML table 中删除所有行?
我正在尝试删除 table 中的所有行。 I've read this documentation,但不会删除行。
我的代码如下所示:
public void DeleteRows(IElement table)
{
foreach (var row in table?.QuerySelectorAll("tr"))
{
row.Remove();
}
var lengthAfterDeletion = table?.QuerySelectorAll("tr")?.Length;
}
如何使用 anglesharp 从 HTML table 中删除所有行?
我想我们同时解决了这个问题(参见 https://github.com/AngleSharp/AngleSharp/issues/838)。
仅供将来参考(以防其他人遇到同样的问题,这种情况很容易发生):
public void DeleteRows(IElement table)
{
var rows = table?.QuerySelectorAll("tr").ToArray();
foreach (var row in rows)
{
row.Remove();
}
var legnthAfterDeletion = table?.QuerySelectorAll("tr")?.Length;
}
关键是在更改 DOM 之前获取结果的静态快照。因此,来自 LINQ 的 .ToArray()
可以应用于任何迭代器。