XML存储本地文件优势尽显,内容结构分离、互操作性强且规范统一
1,xml

在本地文件存储过程中,人们通常偏好采用xml格式,而非txt格式。xml格式属于一种轻量级的数据存储文件类型。
(1)优点: ①xml文档内容和结构完全分离。
实现了内容的独立(该部分由其他部门负责)与流程定义的分离(这部分则由系统架构师负责)。
②互操作性强
纯文本文件具备的特性之一是,它能够轻松地绕过防火墙的限制,实现不同操作系统间的信息交流。
③规范统一(跨平台)
各平台使用统一的格式和语法。
(2)场景: ①数据交换
在数据传输过程中,XML格式保留了包括父与子关系在内的多种数据结构。多个应用程序能够共同使用并解析同一份XML文件,无需依赖传统的字符串解析或拆解步骤。
然,这方面json使用更多一点。了解:Json框架
②内容管理
XML具备跨平台运行的能力,并且能够实现向多种格式目标文件的转换。
2,C#demo实现 1)存储xml
//创建XmlDocument对象xmlDoc
创建一个新的XmlDocument对象,命名为xmlDoc。;
//创建并添加ColumnsSort结点
在xml文档中,存在一个名为ColumnsSort的XmlElement对象。.CreateElement("ColumnsSort");
xmlDoc.AppendChild(ColumnsSort);
创建Columns元素,并将它们添加至dgvFlight控件中。
for (int i = 0; i < dgvFlight.Columns.Count; i++)
{
XmlElement columns = xmlDoc.CreateElement("Columns");
columns.InnerText = dgvFlight.Columns[i].Name;
//设置xml属性
columns.SetAttribute("displayIndex", dgvFlight.Columns[i].DisplayIndex.ToString());
ColumnsSort.AppendChild(columns);
}
if (!Directory.Exists(@"../Release/File"))//若文件夹不存在则新建文件夹
{
Directory.CreateDirectory(@"../Release/File"); //新建文件夹
}
通过调用Save()函数,数据得以被成功写入XML格式的UserList文件中。.XML中 @在"../Release"文件夹下的"file"子目录中,存在一个名为"ColumnsSort"的XML文件。
xmlDoc.Save(@"../Release/File/Config.xml"); // 保存文件
2)读取xml
///
/// 从xml中读取列排序 ,并设置界面列顺序
///
private void SetColumnsSort()
{
XmlDocument doc = new XmlDocument();
string fileName = @"../Release/File/Config.xml";
//判断文件是否存在
if若文件名为fileName的文件不存在。
{
return;
}
doc.Load(fileName); //加载Xml文件
doc文档的根元素被赋值给了XmlElement类型的变量rootElem。//获取根节点
获取到根元素下所有属于特定名称的子节点列表,通过调用rootElem的GetElementsByTagName方法。"Columns"); //获取Columns子节点集合
int count = verNodes.Count;
//重新加载界面列表顺序
while (count > 0)
{
count--;
dgvFlight的列集合中,针对verNodes数组中第count个元素的innerText属性所对应的列,将其DisplayIndex属性值进行设置。int解析verNodes数组中第count个元素的属性列表。"displayIndex"].Value);
}
3)xml一览:config.xml
<ColumnsSort>
<Columns displayIndex="1">AColumns>
<Columns displayIndex="0">BColumns>
<Columns displayIndex="2">CColumns>
ColumnsSort>