首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#读取xml资料,意外的 XML 声明。XML 声明必须是文档中的第一个节点并且在它之前不允许出现空白字符。 第 2 行,位置 3

2013-07-04 
C#读取xml文件,意外的 XML 声明。XML 声明必须是文档中的第一个节点并且在它之前不允许出现空白字符。 第 2

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是固定的,不能修改
求大神帮忙,怎么处理? C# XML .net
[解决办法]
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);

热点排行