首页 > 代码库 > c#读写Xml文件
c#读写Xml文件
写入xml文件
第一种方法:使用XmlDocument类:
Demo1
//通过代码创建XML文档
//1、引用命名空间 System.Xml
//2、创建一个 xml 文档
XmlDocument xml = new XmlDocument();
//3、创建一行声明信息,并添加到 xml 文档顶部
XmlDeclaration decl = xml.CreateXmlDeclaration("1.0", "utf-8", null);
xml.AppendChild(decl);
//4、创建根节点
XmlElement rootEle = xml.CreateElement("人");
xml.AppendChild(rootEle);
//5、创建子结点|属性:性别
XmlElement childEle = xml.CreateElement("性别");
rootEle.AppendChild(childEle);
XmlElement c2Ele = xml.CreateElement("男");
c2Ele.InnerText = "1";
childEle.AppendChild(c2Ele);
c2Ele = xml.CreateElement("女");
c2Ele.InnerText = "0";
childEle.AppendChild(c2Ele);
//6、创建子节点|属性:四肢
childEle = xml.CreateElement("胳膊");
rootEle.AppendChild(childEle);
c2Ele = xml.CreateElement("右胳膊");
c2Ele.InnerText = "一般";
childEle.AppendChild(c2Ele);
c2Ele = xml.CreateElement("左胳膊");
c2Ele.InnerText = "一般";
childEle.AppendChild(c2Ele);
c2Ele = xml.CreateElement("左退");
c2Ele.InnerText = "粗壮";
childEle.AppendChild(c2Ele);
c2Ele = xml.CreateElement("右腿");
c2Ele.InnerText = "粗壮";
childEle.AppendChild(c2Ele);
xml.Save(@"C:\Users\Administrator\Desktop\Test\test.xml");
-----------------------------------------------------------------------------------------------
Demo2
try
{
//初始化一个xml实例
XmlDocument myXmlDoc = new XmlDocument();
//创建xml的根节点
XmlElement rootElement = myXmlDoc.CreateElement("Computers");
//将根节点加入到xml文件中(AppendChild)
myXmlDoc.AppendChild(rootElement);
//初始化第一层的第一个子节点
XmlElement firstLevelElement1 = myXmlDoc.CreateElement("Computer");
//填充第一层的第一个子节点的属性值(SetAttribute)
firstLevelElement1.SetAttribute("ID", "11111111");
firstLevelElement1.SetAttribute("Description", "Made in China");
//将第一层的第一个子节点加入到根节点下
rootElement.AppendChild(firstLevelElement1);
//初始化第二层的第一个子节点
XmlElement secondLevelElement11 = myXmlDoc.CreateElement("name");
//填充第二层的第一个子节点的值(InnerText)
secondLevelElement11.InnerText = "Lenovo";
firstLevelElement1.AppendChild(secondLevelElement11);
XmlElement secondLevelElement12 = myXmlDoc.CreateElement("price");
secondLevelElement12.InnerText = "5000";
firstLevelElement1.AppendChild(secondLevelElement12);
XmlElement firstLevelElement2 = myXmlDoc.CreateElement("Computer");
firstLevelElement2.SetAttribute("ID", "2222222");
firstLevelElement2.SetAttribute("Description", "Made in USA");
rootElement.AppendChild(firstLevelElement2);
XmlElement secondLevelElement21 = myXmlDoc.CreateElement("name");
secondLevelElement21.InnerText = "IBM";
firstLevelElement2.AppendChild(secondLevelElement21);
XmlElement secondLevelElement22 = myXmlDoc.CreateElement("price");
secondLevelElement22.InnerText = "10000";
firstLevelElement2.AppendChild(secondLevelElement22);
//将xml文件保存到指定的路径下
myXmlDoc.Save(@"C:\Users\Administrator\Desktop\Test\test.xml");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
第二种方法:使用XmlTextWriter类:
//XmlTextWriter写文件的时候, 默认是覆盖以前的文件, 如果此文件名不存在,它将创建此文件.首先设置一下,你要创建的XML文件格式,
//然后可以通过WriteStartElement和WriteElementString方法来创建元素,这两者的区别就是如果有子结点的元素,那么创建的时候就用WriteStartElement,然后去创建子元素,创建完毕后,要调用相应的WriteEndElement来告诉编译器,创建完毕,用WriteElementString来创建单个的元素,用WriteAttributeString来创建属性.如下:
XmlTextWriter myXmlTextWriter = new XmlTextWriter(@"C:\Users\Administrator\Desktop\Test\test.xml", null);
//使用 Formatting 属性指定希望将 XML 设定为何种格式。 这样,子元素就可以通过使用 Indentation 和 IndentChar 属性来缩进。
myXmlTextWriter.Formatting = Formatting.Indented;
myXmlTextWriter.WriteStartDocument(false);
myXmlTextWriter.WriteStartElement("日期");
myXmlTextWriter.WriteComment("这是厨房的下单记录");
myXmlTextWriter.WriteStartElement("申购单");
myXmlTextWriter.WriteAttributeString("部门", "中厨房");
myXmlTextWriter.WriteAttributeString("申购人", "赵亮");
for (int i = 0; i < 10; i++)
{
myXmlTextWriter.WriteElementString("编号", "0001");
myXmlTextWriter.WriteElementString("编码", "gcxg");
myXmlTextWriter.WriteElementString("名称", "国产西瓜");
myXmlTextWriter.WriteElementString("规格", "4只/每箱");
myXmlTextWriter.WriteElementString("单价", "88.5");
myXmlTextWriter.WriteElementString("单位", "箱");
myXmlTextWriter.WriteElementString("数量", "5");
myXmlTextWriter.WriteElementString("金额", "450");
myXmlTextWriter.WriteElementString("备注", "要熟的");
}
myXmlTextWriter.Flush();
myXmlTextWriter.Close();
第三种方法:使用LINQ to XML 的XDocument类:
var doc = new XDocument(new XElement("Contacts",
new XElement("Contact", new XAttribute("id", "01"),
new XElement("Index", "0001"),
new XElement("Code", "gcxg"),
new XElement("Name", "国产西瓜"),
new XElement("spec", "4只/每箱"),
new XElement("Price", "80"),
new XElement("Unit", "箱"),
new XElement("Number", "4"),
new XElement("Total", "320"),
new XElement("Remakes", "要熟的")
)));
doc.Save(@"C:\Users\Administrator\Desktop\Test\test.xml");
c#读写Xml文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。