我正在尝试使用HTML Agility Pack将脚本元素附加到我的html的HEAD部分的顶部。我迄今看到的例子只是使用AppendChild(element)
方法来实现这一点。我需要将附加到头部的脚本放在其他脚本之前。我怎样才能指定这个?HTML Agility Pack - 如何在head元素的顶部添加元素?
这里就是我想:
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\"}'";
我想朝着头,而不是附加在末尾的顶端增加了一个脚本标签。
旁注其他人发现这个问题:'stateScript.InnerHtml = ...'有时会做你的javascript的奇怪的东西。要解决这个问题,你可以改为'stateScript.AppendChild(htmlDocument.CreateTextNode(scriptText));' – jp36 2012-04-02 16:11:16