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数据。