C# HTML功能包找不到PageMap标记
我正在使用HTMLAgility pack从HTML页面获取有关文章的信息。我可以在整个文档中找到我想要的任何东西,但由于某种原因,无论我做什么,我都找不到PageMap对象。我创建了一个测试文档来隔离页面映射,但仍然没有成功 这是测试HTML:C# HTML功能包找不到PageMap标记,c#,html-agility-pack,C#,Html Agility Pack,我正在使用HTMLAgility pack从HTML页面获取有关文章的信息。我可以在整个文档中找到我想要的任何东西,但由于某种原因,无论我做什么,我都找不到PageMap对象。我创建了一个测试文档来隔离页面映射,但仍然没有成功 这是测试HTML: <html> <head> <PageMap> <DataObject type="document"> <Attr
<html>
<head>
<PageMap>
<DataObject type="document">
<Attribute name="article_title">Test Title</Attribute>
<Attribute name="article_publication_name">Test Publication Name</Attribute>
<Attribute name="article_author">Test Authro | The Test</Attribute>
<Attribute name="article_description">A test of test and test test test!</Attribute>
<Attribute name="image_src">http://www.google.com</Attribute>
<Attribute name="article_comments">0</Attribute>
<Attribute name="article_date_original">10/31/2015</Attribute>
<Attribute name="article_date_updated">10/31/2015</Attribute>
</DataObject>
</PageMap>
</head>
<body>
test
</body>
</html>
活动或测试HTML都可以正常加载,但htmnArticle节点始终为空。任何建议都将不胜感激。使用
//pagemap
(HtmlAgilityPack将节点规范化为小写-):
旁注:查看
doc.DocumentNode.InnerHtml有助于了解节点是如何规范化的。TY,非常简单。我希望我在搜索中偶然发现另一个问题,这样可以节省很多时间。
string strPageHTML = File.ReadAllText(@"test.htm");
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(strPageHTML);
HtmlNode htmnArticle = doc.DocumentNode.SelectSingleNode("//PageMap");
tbMessagePreview.Text = htmnArticle.InnerHtml;
HtmlNode htmnArticle = doc.DocumentNode.SelectSingleNode("//pagemap");
tbMessagePreview.Text = htmnArticle.InnerHtml;