【问题标题】:Html Agility Pack + Get specific nodeHtml Agility Pack + 获取特定节点
【发布时间】:2011-02-07 18:47:05
【问题描述】:

您好,我的申请有问题。 我需要在两个节点之间选择一个特定的文本。

html页面是这样的

<td align="right" width="186">Text1</td>
<td align="center" width="51">? - ?</td>
<td width="186">Text2</td>`

我可以通过以下方式选择 Text1 和 Text2:

HtmlNodeCollection cols = doc.DocumentNode.SelectNodes("//td[@width='186']");<br />
foreach (HtmlNode col in cols)<br />
{
    if (col.InnerText == "Text1")
    {
        Label1.Text = col.InnerText;            
    }
}

我之所以有 if 条件是因为页面中有更多的 td。我需要专门挑选出其中包含“Text1”的人。

但问题是我如何解析出文本“? - ?”文档中有更多的文本也有文本“? - ?”但我需要专门挑选出我的其他两个节点之间的那个..

结果应该是 Text1 ? - ?文本2等。

我猜这与 nextchild 或兄弟姐妹等有关?

【问题讨论】:

  • 请通过缩进四个空格来格式化您的代码。

标签: c# asp.net html-agility-pack


【解决方案1】:

您可以查看col.NextSibling.InnerText

【讨论】:

  • 太棒了,已经尝试修复此问题 2-3 小时:P.. 非常感谢 SLaks
  • 是的,完成了。我肯定会使用这个网站来解决更多问题:)
  • 请随意! :-) 将来,您应该通过缩进四个空格来格式化您的代码。 (或单击编辑器工具栏中的{ } 按钮)
  • 是的,我在编写 html 时注意到了这一点。但我不知道它也会自动缩进:).. 我认为 Kobi 在我的帖子中发挥了一些魔力
猜你喜欢
  • 2022-11-15
  • 2018-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多