有时候要用到Xml的读取和写入,甚至有时候需要新建一个Xml,但是好长时间不用这东西,都忘了,所以就写了一个类库,想用的时候直接拿过来用就OK了
下面是代码
[html]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace Xmlleiku
{
public class Xmllei
{
public static string xmlpath = string.Empty;
///
/// 初始化xml的物理地址
///
/// 物理地址
public Xmllei(string path)
{
xmlpath = path;
}
///
/// 读取xml中的内容
///
/// 节点的名字
public Dictionary
{
XmlDocument xodc = new XmlDocument();
xodc.Load(xmlpath);
XmlNodeList lis = xodc.GetElementsByTagName(element);
Dictionary
int j = 0;
foreach (XmlNode item in lis)
{
string[] a = new string[item.ChildNodes.Count];
for (int i = 0; i
a[i] = item.ChildNodes.Item(i).InnerText;
}
dic.Add(j++, a);
}
return dic;
}
///
/// 写入已有的Xml文档
///
/// 对应的标签组
/// 与标签对应的内容
///
public int Write(string[] element, List
{
int j=0;
try
{
XmlDocument xodc = new XmlDocument();
xodc.Load(xmlpath);
foreach (string[] item1 in meirong)
{
int i = 1;
XmlElement a = xodc.CreateElement(element[0]);
foreach (string item2 in item1)
{
XmlElement b = xodc.CreateElement(element[i++]);
b.AppendChild(xodc.CreateTextNode(item2));
a.AppendChild(b);
}
j++;
xodc.DocumentElement.AppendChild(a);
xodc.Save(xmlpath);
}
return j;
}
catch
{
return 0;
}
}
///
/// 创建一个新的Xml文档
///
/// 包含Xml文档的根目录的标签组
/// 内容数组
///
public int Create(string[] element,List
{
int j = 0;
XmlWriterSettings sttingsw = new XmlWriterSettings();
sttingsw.Encoding = System.Text.Encoding.UTF8;
sttingsw.Indent = true;
using (XmlWriter writer = XmlWriter.Create(xmlpath))
{
writer.WriteStartDocument();
writer.WriteStartElement(element[0]);
foreach (string[] item1 in meirong)
{
int i = 2;
writer.WriteStartElement(element[1]);
foreach (string item2 in item1)
{
writer.WriteStartElement(element[i++]);
writer.WriteString(item2);
writer.WriteEndElement();
}
writer.WriteEndElement();
j++;
}
writer.WriteEndElement();
writer.WriteEndDocument();
}
return j;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace Xmlleiku
{
public class Xmllei
{
public static string xmlpath = string.Empty;
///
/// 初始化xml的物理地址
///
/// 物理地址
public Xmllei(string path)
{
xmlpath = path;
}
///
/// 读取xml中的内容
///
/// 节点的名字
public Dictionary
{
XmlDocument xodc = new XmlDocument();
xodc.Load(xmlpath);
XmlNodeList lis = xodc.GetElementsByTagName(element);
Dictionary
int j = 0;
foreach (XmlNode item in lis)
{
string[] a = new string[item.ChildNodes.Count];
for (int i = 0; i
a[i] = item.ChildNodes.Item(i).InnerText;
}
dic.Add(j++, a);
}
return dic;
}
///
/// 写入已有的Xml文档
///
/// 对应的标签组
/// 与标签对应的内容
///
public int Write(string[] element, List
{
int j=0;
try
{
XmlDocument xodc = new XmlDocument();
xodc.Load(xmlpath);
foreach (string[] item1 in meirong)
{
int i = 1;
XmlElement a = xodc.CreateElement(element[0]);
foreach (string item2 in item1)
{
XmlElement b = xodc.CreateElement(element[i++]);
b.AppendChild(xodc.CreateTextNode(item2));
a.AppendChild(b);
}
j++;
xodc.DocumentElement.AppendChild(a);
xodc.Save(xmlpath);
}
return j;
}
catch
{
return 0;
}
}
///
/// 创建一个新的Xml文档
///
/// 包含Xml文档的根目录的标签组
/// 内容数组
///
public int Create(string[] element,List
{
int j = 0;
XmlWriterSettings sttingsw = new XmlWriterSettings();
sttingsw.Encoding = System.Text.Encoding.UTF8;
sttingsw.Indent = true;
using (XmlWriter writer = XmlWriter.Create(xmlpath))
{
writer.WriteStartDocument();
writer.WriteStartElement(element[0]);
foreach (string[] item1 in meirong)
{
int i = 2;
writer.WriteStartElement(element[1]);
foreach (string item2 in item1)
{
writer.WriteStartElement(element[i++]);
writer.WriteString(item2);
writer.WriteEndElement();
}
writer.WriteEndElement();
j++;
}
writer.WriteEndElement();
writer.WriteEndDocument();
}
return j;
}
}
}