xml学习

namespace xml学习
{
class Program
{
static void Main(string[] args)
{
#region xml写入1
创建了一个空的XDocument对象
创建了一个空的文档对象
//XDocument document = new XDocument();

1.1c创建一个文档声明
第一个参数是版本号 第二个参数是 字体 第三个参数是 表示是否为独立的xml文件
//XDeclaration xDec = new XDeclaration("1.0", "gb2312", "yes");

//document.Declaration=xDec;
1.2创建一个根节点
//XElement rootElement =new XElement("Order");
//document.Add(rootElement);

1.3增加一个CustomerName节点 内容是“杨中科”
//XElement cstNameElement = new XElement("CustomerName");
//cstNameElement.SetValue("杨中科");
//rootElement.Add(cstNameElement);
1.4增加OrderNumber节点
通过调用SetElemtValue
//rootElement.SetElementValue("OrderNumber","BJ200888");

1.5创建一个新对象 Items 节点
//XElement itemElement = new XElement("Items");
创建3个OrderItem节点
//XElement orderItemElement1 = new XElement("OrderItem");
//orderItemElement1.SetAttributeValue("Name","电脑");
//orderItemElement1.SetAttributeValue("Count", "30");
//itemElement.Add(orderItemElement1);

//XElement orderItemElement2 = new XElement("OrderItem");
//orderItemElement2.SetAttributeValue("Name", "电视");
//orderItemElement2.SetAttributeValue("Count", "2");
//itemElement.Add(orderItemElement2);

//XElement orderItemElement3 = new XElement("OrderItem");
//orderItemElement3.SetAttributeValue("Name", "水杯");
//orderItemElement3.SetAttributeValue("Count", "2");
//itemElement.Add(orderItemElement3);

//rootElement.Add(itemElement);


把这个空文档对象写入到xml文件中
//document.Save("orders.xml");

//Console.ReadKey();
#endregion

#region xml写入2
//List<Person> list = new List<Person>()
//{
// new Person(){Name="wangjian",Age=2,Email="djaj@yahoo.com"},
// new Person(){Name="sdfsa",Age=25,Email="sghgf@qq.com"},
// new Person(){Name="wagn",Age=28,Email="fgsdggj@126.com"}
//};

序列化
XmlSerializer xmlSerialize = new XmlSerializer(typeof(List<Person >));
xmlSerialize.Serialize();
//XDocument myDocument = new XDocument();
//XDeclaration myDeclaration = new XDeclaration("1.0","gb2312","yes");
//myDocument.Declaration = myDeclaration;

//XElement rootElement = new XElement("Root");

//myDocument.Add(rootElement);

//for (int i = 0; i < list.Count; i++)
//{
// XElement person = new XElement("Person");

// person.SetElementValue("Name",list[i].Name.ToString());
// person.SetElementValue("Age", list[i].Age.ToString());
// person.SetElementValue("Email", list[i].Email.ToString());

// rootElement.Add(person);


//}

//myDocument.Save("myDocument.xml");

#endregion

#region xml读取 myDocument.xml
//1.创建一个Dom对象
XDocument document = XDocument.Load("myDocument.xml");
//2.一定要找到根节点
XElement rootElement = document.Root;
//Console.WriteLine(rootElement.Name);
//Console.ReadKey();

//判断是否有属性:
Console.WriteLine(rootElement.Name );

//调用获取元素属性的方法
GetAttribues(rootElement);

//2.1获取根节点下的所有子节点
//不传参数 表示获取根节点下的所有子元素
//如果为Elements()方法传递参数 则表示要获取当前节点下的所有当前节点下的所有名称为
//为参数中给定的名称的元素

//只要返回类型是IEnumerable接口类型 无论是泛型还是非泛型都可以在foreach中遍历
foreach (XElement item in rootElement.Elements())
{
//这个循环其实就是遍历根节点下的每个子元素
//Console.WriteLine(item.Name);、
Console.WriteLine("节点====={0}",item.Name);
GetAttribues(item);
foreach (XElement subElemnt in item.Elements())
{
Console.WriteLine("子节点======================={0}",subElemnt.Name);
GetAttribues(subElemnt);
}
}
Console.ReadKey();

#endregion

}

//打印元素的属性

private static void GetAttribues(XElement anyElement)
{
Console.WriteLine(anyElement.Name + "元素的属性");
foreach (XAttribute attr in anyElement.Attributes())
{
Console.WriteLine(attr.Name + " " + attr.Value);
}
}
}


class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Email { get; set; }
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xinying888888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值