需要读取的XML文件不太规范,XML文件一般是以
<?xml version="1.0" encoding="gb2312"?>
这件开头,而这个XML文件在<?xml version="1.0" encoding="gb2312"?>之前多了一个换行,处于XML文件的第二行,也就是这样<?xml version="1.0" encoding="gb2312"?>
…………………其它内容………………我用xmlReader一读就出错。捕获的错误信息如下:
“意外的 XML 声明。XML 声明必须是文档中的第一个节点并且在它之前不允许出现空白字符。 行 2,位置 3”
异常类型XmlException
<?xml version="1.0" encoding="gb2312"?>
这件开头,而这个XML文件在<?xml version="1.0" encoding="gb2312"?>之前多了一个换行,处于XML文件的第二行,也就是这样<?xml version="1.0" encoding="gb2312"?>
…………………其它内容………………我用xmlReader一读就出错。捕获的错误信息如下:
“意外的 XML 声明。XML 声明必须是文档中的第一个节点并且在它之前不允许出现空白字符。 行 2,位置 3”
异常类型XmlException
因为不是本地的feed,如果用string.Trim()方法的话,我还得再读下来,保存到一个string里面,再Trim一下,当XML文件比较大的时候,貌似有点浪费内存的样子.不过文本的处理应该很快的说.
我试过加一个XmlReaderSetting.把里面我能看懂的都设了,什么偏移几行啊,忽略没必要的空白啊之类的,还是没有用......
难道真的只能读到一个string里再Trim一下?没有别的方法了么...
XmlReader对XML文件结构要求这么严?
{
sr.ReadLine();
XmlTextReader xr = new XmlTextReader(sr);
while (xr.Read())
{
if (xr.NodeType == XmlNodeType.Element)
{
Console.WriteLine(xr.LocalName);
}
}
}
我估计是没有办法了,我还是我用string.trim()吧..