使用XmlDocument的LoadXml方法加载xml字符串的时候,出现Data at the root level is invalid的错误。原来是读取的xml开头有三个问号。
原来是因为写入xml的时候没有制定编码,没有写这个:<?xml version="1.0" encoding="utf-8"?>
所以编码问题导致了xml中出现乱码
解决方法:
1. 写入的时候上面那个头要存在
2. 读取的时候实在没有办法就过滤掉开头的<root>之前的乱码,System.Text.RegularExpressions.Regex.Replace(xmlString, "^[^<]+", "")