XML跳过utf-8的BOM

来源:互联网 发布:cda数据分析师报名费用 编辑:程序博客网 时间:2024/06/06 00:53

代码内容

GameData GetDataWithoutBOM(string fileName)    {        GameData data = new GameData();        Stream stream = new FileStream(fileName + @"\data.json", FileMode.Open, FileAccess.Read, FileShare.None);        StreamReader streamReader = new StreamReader(stream, true);//true跳过bom        XmlSerializer xmlSerializer = new XmlSerializer(data.GetType());        data = xmlSerializer.Deserialize(streamReader) as GameData;        streamReader.Close();        stream.Close();        return data;    }

fliename就是我们存放的文件路径,文件是json格式的,这里通过流式读取来跳过bom,并且通过序列化获取数据,关于GameData这个类是我的自定义的数据存储类型。

/// <summary>/// 存储数据类型/// </summary>[System.Serializable]public class GameData{    public int playerIntegration;    public int computerOneIntegration;    public int computerTwoIntegration;}

我的data.json文件中的内容如下:

<?xml version="1.0" encoding="utf-8"?><GameData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">  <playerIntegration>700</playerIntegration>  <computerOneIntegration>1200</computerOneIntegration>  <computerTwoIntegration>700</computerTwoIntegration></GameData>

以上方法是用代码来去除bom,其实用notepad++来重新编辑保存是更简单的,亲测可行。

0 0
原创粉丝点击