C# HtmlAgilityPack不';t返回div中的文本
这是示例html页面C# HtmlAgilityPack不';t返回div中的文本,c#,html-agility-pack,C#,Html Agility Pack,这是示例html页面 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html version="-//W3C//DTD XHTML 1.1//EN" xmlns="http://www.w3.org/1999/xhtml" xml:lan
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html version="-//W3C//DTD XHTML 1.1//EN" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Test Page</title>
</head>
<body>
<div id="topContainer">
<div id="header">
<span>This is a Test message</span>
<span id="slogan">A sample slogan <br /> with 2 lines.</span>
</div>
<div id="news">
This is a test news
</div>
</div>
</body>
</html>
当我尝试检索header
div的内部文本时,它会起作用。但是,当我尝试使用相同的代码检索topContainer
div的innertext时,它不会返回任何内容。它也不会抛出错误。而且它对
元素根本不起作用
原因可能是什么
谢谢似乎您正在尝试仅选择ID为
IDOFTHEDIV的div
;因此,不会选择具有其他ID(或没有ID)的其他DIV请考虑添加显示问题的示例HTML元素。抱歉,信息太少。我刚刚添加了一个HTML代码片段。和更多信息。谢谢。当我把身份证换成另一个div的身份证时,它有时不起作用。
public MainPage()
{
InitializeComponent();
HtmlWeb.LoadAsync("URL", DownLoadCompleted);
}
void DownLoadCompleted(object sender, HtmlDocumentLoadCompleted e)
{
if(e.Error == null)
{
HtmlDocument doc = e.Document;
if (doc != null)
{
var newsdiv = (from divnode in doc.DocumentNode.Descendants("div")
where divnode.Attributes["id"].Value == "header"
select divnode).FirstOrDefault();
var txtT = HttpUtility.HtmlDecode(newsdiv.InnerText);
txtDisplay.Text = txtT;
}
}
}