在 HtmlAgilityPack 中,我想创建 HtmlTextNode
,这是一个 HtmlNode
(继承自 HtmlNode)具有自定义 InnerText。
HtmlTextNode CreateHtmlTextNode(string name, string text)
{
HtmlDocument doc = new HtmlDocument();
HtmlTextNode textNode = doc.CreateTextNode(text);
textNode.Name = name;
return textNode;
}
问题是 textNode.OuterHtml
和 textNode.InnerHtml
在上述方法之后将等于“文本”。
例如CreateHtmlTextNode("title", "blabla")
将产生:
textNode.OuterHtml = "blabla"
而不是 <Title>blabla</Title>
有没有更好的方法来创建HtmlTextNode
?
最佳答案
下面几行创建了一个包含内容的外部 html
var doc = new HtmlDocument();
// create html document
var html = HtmlNode.CreateNode("<html><head></head><body></body></html>");
doc.DocumentNode.AppendChild(html);
// select the <head>
var head = doc.DocumentNode.SelectSingleNode("/html/head");
// create a <title> element
var title = HtmlNode.CreateNode("<title>Hello world</title>");
// append <title> to <head>
head.AppendChild(title);
// returns Hello world!
var inner = title.InnerHtml;
// returns <title>Hello world!</title>
var outer = title.OuterHtml;
希望对您有所帮助。
关于c# - HTML 敏捷包 : create html text node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20882626/