我试图使用
HTML Agility Pack将脚本元素附加到我的html的HEAD部分的顶部.到目前为止我已经看到的例子只是使用AppendChild(element)来完成这个.我需要我附加到头部的脚本来到一些其他脚本之前.我该如何指定?
这是我正在尝试的:
HtmlDocument htmlDocument = new HtmlDocument(); htmlDocument.Load(filePath); HtmlNode head = htmlDocument.DocumentNode.SelectSingleNode("/html/head"); HtmlNode stateScript = htmlDocument.CreateElement("script"); head.AppendChild(stateScript); stateScript.SetAttributeValue("id","applicationState"); stateScript.InnerHtml = "'{\"uid\":\"testUser\"}'";
解决方法
意识到这是一个旧问题,那么还有可能会出现可能不存在的子元素.
// Load content as new Html document HtmlDocument html = new HtmlDocument(); html.LoadHtml(oldContent); // Wrapper acts as a root element string newContent = "<div>" + someHtml + "</div>"; // Create new node from newcontent HtmlNode newNode = HtmlNode.CreateNode(newContent); // Get body node HtmlNode body = html.DocumentNode.SelectSingleNode("//body"); // Add new node as first child of body body.PrependChild(newNode); // Get contents with new node string contents = html.DocumentNode.InnerHtml;