需要一些在C#中带有HtmlAlityPack的HTML元素-如何做?

需要一些在C#中带有HtmlAlityPack的HTML元素-如何做?,c#,html,parsing,html-agility-pack,C#,Html,Parsing,Html Agility Pack,我有以下情况: <a href="test.com">Some text <b>is bolded</b> some is <b>not</b></a> 现在,在没有粗体部分的情况下,如何获取“test.com”部分和文本的锚定?假设以下标记: <html> <head> <title>Test</title> </head> <body>

我有以下情况:

<a href="test.com">Some text <b>is bolded</b> some is <b>not</b></a>


现在,在没有粗体部分的情况下,如何获取“test.com”部分和文本的锚定?

假设以下标记:

<html>
<head>
    <title>Test</title>
</head>
<body>
    <a href="test.com">Some text <b>is bolded</b> some is <b>not</b></a>
</body>
</html>
印刷品:

test.com
Some text is bolded some is not
当然,您可能希望通过为尝试获取的锚提供唯一id或类名来调整
SelectSingleNode
XPath选择器:

// assuming <a href="test.com" id="foo">Some text <b>is bolded</b> some is <b>not</b></a>
var anchor = doc.GetElementbyId("foo");
//假设
var anchor=doc.GetElementbyId(“foo”);

您是否希望提取“某些文本加粗,某些文本不加粗”(锚文本没有格式标记)或“某些文本有一些是”(标记中的内容已删除)?我需要提取锚文本中的链接和整个文本,而没有格式标记。这将是“一些文本是粗体的,一些不是”。这正是我所需要的。为了得到我想要的文本,我对HTML做了一些修改。我去掉了链接,然后将其提供给HtmlDocument的LoadHTML方法。它成功了。不幸的是,我不能使用GetElementbyId,所以黑客做了它的工作。
// assuming <a href="test.com" id="foo">Some text <b>is bolded</b> some is <b>not</b></a>
var anchor = doc.GetElementbyId("foo");