C#读取xml文件,意外的 XML 声明。XML 声明必须是文档中的第一个节点并且在它之前不允许出现空白字符。 第 2 行,位置 3。
XmlDocument doc = new XmlDocument();
doc.Load(xmlPath);
报错:
意外的 XML 声明。XML 声明必须是文档中的第一个节点并且在它之前不允许出现空白字符。 第 2 行,位置 3。
xml文件如下:
<!-- hbclpz_result:向客户端返回所申请的汇报材料对应的批注详细信息 -->
<?xml version="1.0" encoding="utf-8"?>
<pz>
<p1/>
<p2/>
</pz>
去掉第一行的注释就没问题,但是xml是固定的,不能修改
求大神帮忙,怎么处理?
------解决方案--------------------new DataSet().ReadXml()
DataSet能加载的飘过~
------解决方案--------------------把
<!-- hbclpz_result:向客户端返回所申请的汇报材料对应的批注详细信息 --> 去掉
------解决方案--------------------你修改下XML编码方式,如:
XDocument xmlDoc = null;
using (StreamReader oReader = new StreamReader(inFileName, Encoding.GetEncoding("ISO-8859-1"))) {
xmlDoc = XDocument.Load(oReader);
}
具体信息可以参考下面的链接:
http://forums.asp.net/t/1775717.aspx/
------解决方案--------------------string text = File.ReadAllText("test.xml").Replace("\r\n", "");
text = Regex.Replace(text, @"<!-- *.* -->", "", RegexOptions.IgnoreCase);
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(text);