XML传统的创建:
传统的创建主要是依据XmlDocument的对象展开的,通过XmlDocument对象可以创建元素(XmlElement)、属性(XmlAttribute)以及文本节点(CreateTextNode)
具体实例:
1-> 创建XmlDocument和描述,并添加描述:
XmlDocument xml=new XmlDocument();
XmlDeclaration xmldec = xmlDoc.CreateXmlDeclaration("1.0", "gb2312", null);
xml.AppendChild(xmldec);
2->创建根节点,并添加到xml中,根节点只能有一个
XmlElement root = xml.CreateElement("root");
xml.AppendChild(root);
3->准备数据,循环该数据集合,并创建XmlElement元素节点及相关属相
List<Student> list = new List<Student>(){
new Student(){Name="张三",Gender="男",Age=17},
new Student(){Name="李四",Gender="男",Age=21},
new Student(){Name="王五",Gender="男",Age=19}
};
//循法集合中的对象
for (int i = 0; i < list.Count(); i++)
{
//创建stu节点并添加属性id
XmlElement stu = xml.CreateElement("Student");//用XmlDocument的实例xml创建元素
XmlAttribute id = xml.CreateAttribute("id");//用XmlDocument的实例xml创建属性
id.Value = "00" + (i+1);//为属性赋值
stu.Attributes.Append(id);//将属性id添加到stu的属性集合中去
//创建name节点并复制。然后追加到stu节点下
XmlElement name = xml.CreateElement("Name");//用XmlDocument的实例xml创建元素
name.AppendChild(xml.CreateTextNode(list[i].Name));//为元素创建TextNode,并赋值
stu.AppendChild(name); //将name节点添加到stu节点下
//创建age 节点并复制。然后追加到stu节点下
XmlElement age = xml.CreateElement("Age");
age.AppendChild(xml.CreateTextNode(list[i].Age.ToString()));
stu.AppendChild(age);
//创建gender 节点并复制。然后追加到stu节点下
XmlElement gender = xml.CreateElement("Gender");
gender.AppendChild(xml.CreateTextNode(list[i].Gender));
stu.AppendChild(gender);
//将stu节点追加到跟节点root下
root.AppendChild(stu);
}
4->保存XML文件
xml.Save("xxx.xml");
5->最终生成的XML
<?xml version="1.0" encoding="gb2312"?>
<root>
<Student id="001">
<Name>张三</Name>
<Age>17</Age>
<Gender>男</Gender>
</Student>
<Student id="002">
<Name>李四</Name>
<Age>21</Age>
<Gender>男</Gender>
</Student>
<Student id="003">
Name>王五</Name>
<Age>19</Age>
<Gender>男</Gender>
</Student>
</root>