日期:2014-05-18  浏览次数:21031 次

急求大神们指导!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后就可以用这个方法加载。