JMNext Asked:2020-03-22 02:26:37 +0000 UTC2020-03-22 02:26:37 +0000 UTC 2020-03-22 02:26:37 +0000 UTC 如何删除空行Xml C# 772 我需要提取 RSS 数据才能使用Interfax。但问题是 XML。当我尝试拉动时,在这个 RSS 中,第一行是空的。并且 XDocument xdoc = XDocument.Load(url);不想读取数据并抛出错误(什么类型的文件从第 2 行开始)。如果有人遇到这种情况并解决了它,请告诉我。必须以某种方式删除此空行才能加载它。 c# 2 个回答 Voted Best Answer Артём Оконечников 2020-03-22T03:04:58Z2020-03-22T03:04:58Z 没错,在这个 XML 中,第一个字符\n无效并引发异常System.Xml.XmlException: 意外的 XML 声明。XML 声明必须是文档中的第一个节点,并且它之前不允许出现空白字符。第 2 行,位置 3。 只需从 XML 字符串中删除第一个字符: const string url = "https://www.interfax.by/news/feed"; string xmlStr; using (var webClient = new WebClient()) { xmlStr = webClient.DownloadString(url); xmlStr = xmlStr.Remove(0, 1); } var xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlStr); JMNext 2020-03-22T05:31:13Z2020-03-22T05:31:13Z WebRequest request = WebRequest.Create(url); WebResponse response = request.GetResponse(); Stream stream = response.GetResponseStream(); string xmlText; using(StreamReader reader = new StreamReader(stream)) { xmlText = reader.ReadToEnd(); } using(StreamWriter writer = new StreamWriter(Directory.GetCurrentDirectory() + "/Temp/temp")) { writer.Write(xmlText.Remove(0, 1)); } 我就是这样做的。使用备份文件并且没有丢失编码。并且在绘图时将其加载到xdoc = XDocument.Load(Directory.GetCurrentDirectory() + "/Temp/temp");
没错,在这个 XML 中,第一个字符
\n无效并引发异常System.Xml.XmlException:只需从 XML 字符串中删除第一个字符:
我就是这样做的。使用备份文件并且没有丢失编码。并且在绘图时将其加载到
xdoc = XDocument.Load(Directory.GetCurrentDirectory() + "/Temp/temp");