急求大神们指导!WebBrowser控件中新建HTML文档的问题
是这么个情况,我已经在WebBrowser控件中加载好了随便一个网页,想做的事情是通过遍历这个已经得到的HTML文档的各个节点,根据自己写的处理逻辑把原文档转换为标准的XML文档,这个XML文档不需要显示出来,只是给下一步显示到树控件中用的。我在DocumentCompleted事件里得到了原HTML DOM对象,这个是没问题的,各个节点也都能访问到,只是在这个事件里新创建一个空XML文档时(代码如下),就不成功了。在执行CreateElement之后,MessageBox.Show(newelem.TagName)并没有弹出。
谁能告诉我是哪儿出了问题?WebBrowser控件已经打开一个HTML文档的情况下,就不能再对另一个不显示的文档操作吗?
如果这种方法不行,怎么才能达到我的目的,即在后台把这个已经打开的HTML文档的节点按XML的语法复制到一个新的文档中?
C# code
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (webBrowser1.Document != null)
{
MessageBox.Show("文档加载完毕!");
HtmlDocument htmldoc = webBrowser1.Document; //这里是成功获得的原HTML文档
HtmlDocument xmldoc = null;
HtmlElement newelem = xmldoc.CreateElement("html");
MessageBox.Show(newelem.TagName); //这里就没有弹出了
}
}
------解决方案--------------------
你的意思是创建空XML文档,那应该是
System.Xml.XmlDocument xmldoc = new System.Xml.XmlDocument();
System.Xml.XmlElement newelem = xmldoc.CreateElement("html");
------解决方案--------------------
XmlDocument.LoadXml(xmlString)方法可以把xml格式的文本转化成xml对象,你获取HtmlDocument后就可以用这个方法加载。