日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

wxml报错原因_C#生成、解析xml文件以及处理报错原因

發布時間:2023/12/3 C# 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wxml报错原因_C#生成、解析xml文件以及处理报错原因 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自:http://blog.csdn.net/lilinoscar/article/details/21027319

簡單的介紹一下生成XML文件以及解析,因為有些數據不一定放到數據庫,減少鏈接數據庫

用xml還是比較好些。如果遇到問題也就是解析時報錯,對于解析,可以選擇用ie瀏覽器進行驗證

是否符合xml格式,不能顯示說明不正確,用記事本打開看也沒有發現啥情況,復制出來到別的xml

文件里,運行可能正確,那就說明生成的xml編碼有問題。還有就是節點有什么空格啥的。

Load和LoadXml方法的區別?

Load方法可以解析包括xml的頭部文件“<?xml version="1.0" encoding="utf-8"?>”,而LoadXml

方法不能解析,會報錯,它只能解析如:647e7d54-321c-4bca-ac10-301de2837d9d

中國案件4文件,不能包含xml的頭部文件。

1.序列化類:

///

/// 序列化成XML

///

///

///

public static string XmlSerialize(object o)

{

XmlSerializer ser = new XmlSerializer(o.GetType());

System.IO.MemoryStream mem = new MemoryStream();

XmlTextWriter writer = new XmlTextWriter(mem, Encoding.UTF8);

XmlSerializerNamespaces ns = new XmlSerializerNamespaces();

ser.Serialize(writer, o, ns);

writer.Close();

return Encoding.UTF8.GetString(mem.ToArray());

}

///

/// 解析成XML

///

///

///

///

public static T XmlDeserialize(string s)

{

XmlDocument xdoc = new XmlDocument();

try

{

xdoc.Load(s);

XmlNodeReader reader = new XmlNodeReader(xdoc.DocumentElement);

XmlSerializer ser = new XmlSerializer(typeof(T));

object obj = ser.Deserialize(reader);

return (T)obj;

}

catch

{

return default(T);

}

}

///

/// 解析成XML,不能解析包含頭部文件<?xml version="1.0" encoding="utf-8"?>

///

///

///

///

public static T LoadXmlDeserialize(string s)

{

XmlDocument xdoc = new XmlDocument();

try

{

xdoc.LoadXml(s);

XmlNodeReader reader = new XmlNodeReader(xdoc.DocumentElement);

XmlSerializer ser = new XmlSerializer(typeof(T));

object obj = ser.Deserialize(reader);

return (T)obj;

}

catch

{

return default(T);

}

}

2.//Resources類

public class Resources

{

public Guid Guid { get; set; }

public string Name { get; set; }

}

3.//生成xml

public void CreateXml(List _list, string path)

{

var xml = SerializerHelper.XmlSerialize(_list).Trim();//這個地方也需要去除空格,不然也會報錯,錯誤跟下面的一樣。

// using (StreamWriter sw = new StreamWriter(path, false,Encoding.UTF8))這個生成的xml看著是沒有問題

但是網頁IE不能解析,說明有問題,直接去掉Encoding.UTF8即可,不然報錯“根級別上的數據無效”

using (StreamWriter sw = new StreamWriter(path, false))

{

sw.Write(xml);

}

}

4.//解析XML,指定文件路徑,判斷文件夾是否存在以及查找文件名

DirectoryInfo di = new DirectoryInfo("Xml");

if (!di.Exists)

{

Directory.CreateDirectory("Xml");

}

if (di.GetFiles().Length > 0)

{

foreach (FileInfo fi in di.GetFiles())

{

if (fi.Name.Contains("Resource.xml"))

{

var list = SerializerHelper.XmlDeserialize>("Xml/Resource.xml");

if (list.Count > 0)

{

}

}

}

}

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的wxml报错原因_C#生成、解析xml文件以及处理报错原因的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。