C# “Javascript”是一个意外标记。所需的标记为“”或“”。第5行,位置18
我正在尝试加载此页面的Rss XML页面: 但我有一个错误: “Javascript”是意外标记。预期标记为“”或“”。第5行,位置18 以下是代码: WebRequest=WebRequest.createnewsystem.Urihttp://www.cairo360.com/xml/feeds/rss/Cairo360Events.xml)C# “Javascript”是一个意外标记。所需的标记为“”或“”。第5行,位置18,c#,xml,rss,C#,Xml,Rss,我正在尝试加载此页面的Rss XML页面: 但我有一个错误: “Javascript”是意外标记。预期标记为“”或“”。第5行,位置18 以下是代码: WebRequest=WebRequest.createnewsystem.Urihttp://www.cairo360.com/xml/feeds/rss/Cairo360Events.xml) WebResponse response = request.GetResponse(); XmlDocument xmlDoc
WebResponse response = request.GetResponse();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(response.GetResponseStream());
我知道我用另一个Rss xml页面尝试了这段代码,它成功了!试试这个
WebRequest request = WebRequest.Create(new System.Uri(@"http://www.cairo360.com/xml/feeds/rss/Cairo360Events.xml"));
在C语言中,字符串中a/之后的任何字符都是特殊字符。例如/n是新行。通过使用字符串前面的@双引号,可以忽略所有特殊的转换字符。您也可以这样做
WebRequest request = WebRequest.Create(new System.Uri(@"http:////www.cairo360.com//xml//feeds//rss//Cairo360Events.xml"));
在C语言中,一个字符串中的一个//被转换成一个单/。双//告诉编译器没有特殊字符,将其视为单斜杠
永远不要同时添加@和//,因为@已经忽略了特殊字符,所以//实际上意味着//
希望这有帮助
编辑
也试试这个
XmlTextReader reader = new XmlTextReader("http://www.cairo360.com/xml/feeds/rss/Cairo360Events.xml");
// Skip non-significant whitespace
reader.WhitespaceHandling = WhitespaceHandling.Significant;
// Read nodes one at a time
while (reader.Read())
{
// Print out info on node
Console.WriteLine("{0}: {1}", reader.NodeType.ToString(), reader.Name);
}
不,这不是问题所在。该程序在最后一行抛出异常:xmlDoc.Loadresponse.GetResponseStream;@Landin,我相信你把“/”和“\”弄糊涂了。我用另一个Rss xml页面尝试了这段代码,但效果很好,不足以证明程序的正确性。编写一个对一个输入正确的程序通常是错误的sy,但编写一个对所有输入都正确的程序是另一回事。我之所以来到这里,是因为一个类似的问题。谷歌的所有道路都没有答案,但似乎都与XML解析器相关。我们的问题版本并不是在我们的所有环境中都会发生。作为一个主要的JavaScript开发人员,我不知道标记“JavaScript”是如何实现的NDS的方式进入.NET的XML解析器。在我们的例子中,它在Web服务请求的中间中断。我目前没有理由相信任何东西都能从HTML中找到。