Niz*_*ond 15 c# html-agility-pack
在HtmlAgilityPack中,我想创建HtmlTextNode,它是一个HtmlNode(来自HtmlNode的inherts),它有一个自定义的InnerText.
HtmlTextNode CreateHtmlTextNode(string name, string text)
{
HtmlDocument doc = new HtmlDocument();
HtmlTextNode textNode = doc.CreateTextNode(text);
textNode.Name = name;
return textNode;
}
Run Code Online (Sandbox Code Playgroud)
问题是在上面的方法之后textNode.OuterHtml,textNode.InnerHtml它将等于"text".
例如,CreateHtmlTextNode("title", "blabla")将生成:
textNode.OuterHtml = "blabla"而不是<Title>blabla</Title>
有没有更好的创作方式HtmlTextNode?
cst*_*ler 18
以下行创建带有内容的外部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;
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
jes*_*ing 13
A HTMLTextNode只包含Text,没有标签.
它如下所示:
<div> - HTML Node
<span>text</span> - HTML Node
This is the Text Node - Text Node
<span>text</span> - HTML Node
</div>
Run Code Online (Sandbox Code Playgroud)
您正在寻找标准的HtmlNode.
HtmlDocument doc = new HtmlDocument();
HtmlNode textNode = doc.CreateElement("title");
textNode.InnerHtml = HtmlDocument.HtmlEncode(text);
Run Code Online (Sandbox Code Playgroud)
请务必拨打HtmlDocument.HtmlEncode()您要添加的文字.这可确保正确编码特殊字符.