C# XPathDocument可以';t载荷

C# XPathDocument可以';t载荷,c#,xml,C#,Xml,我创建了一个XPathDocumnet并给它一个xml文件,但它不加载文档。我的意思是加载需要无穷大,因为没有例外或类似的情况。代码如下: string root = @"http://emtehan.roshd.ir"; WebClient webclient = new WebClient(); webclient.DownloadFile(root, "doc.xml"); XPathDocument document = new XPathDocument("doc.xml"); 您可

我创建了一个
XPathDocumnet
并给它一个
xml文件
,但它不加载文档。我的意思是加载需要无穷大,因为没有例外或类似的情况。代码如下:

string root = @"http://emtehan.roshd.ir";
WebClient webclient = new WebClient();
webclient.DownloadFile(root, "doc.xml");
XPathDocument document = new XPathDocument("doc.xml");

您可以参考System.Xml.Linq.dll

代码在这里

///Reference the namespace
using System.Xml.Linq;
try
{ 
    ///Read xml from url
    var doc = XDocument.Load("MyUrl");
    ///Write it to local file
    doc.Save("MyFile.xml");
}
catch(Exception exception)
{
    MessageBox.Show(exception.Message);
}
它能解决问题吗

已编辑

var response = HttpWebRequest.Create("http://emtehan.roshd.ir/").GetResponse() as HttpWebResponse;
var output = new StreamReader(response.GetResponseStream()).ReadToEnd();

它将html转换为字符串,然后您可以执行任何您想要的操作。问题是您的目标站点-它不使用标准标记,我的意思是解析xml时存在问题。看起来您只是想从代码中提取URL。因此,使用一个示例httpclient下载行html内容,然后使用ereg函数提取URL。 另外,如果你只是想榨取一个网站,有很多好的应用程序,比如websote离线浏览器(试用版),甚至还有一些开源项目(reference:google.com!)


*ereg方法比解析所有代码快得多!检查一些开源项目代码,它们都是这样工作的。

检查doc.xml的格式是否正确。这很可能就是问题所在。要像在您的例子中那样解析xhtml,请使用htmlagilitypack—不幸的是,许多web页面不符合xml。那个想法还没有真正流行起来(打电话只会显示“您请求的页面未找到”。那么这怎么行呢……您知道
http://emtehan.roshd.ir/doc.xml
返回404?异常:“引用未声明的实体“nbsp”。第42行,位置37”。它无法理解您使用的是低于3.5的.Net版本吗?不,它是.Net 4。我可以运行该程序,但它无法理解网站上的html文档。我接下来应该如何处理返回的字符串?好的,让我们重新开始。您想获取xml数据还是html。给定的url提供html数据。