LinQ To XML——LinQ To XML .Net3.5中的新Xml对象
2011-03-28 11:05 闫妍 阅读(408) 评论(0) 编辑 收藏 举报XDocument
XDocument代替了.net3.5之前的XmlDocument对象,它更容易处理Xml文档。
XDocument可以和下面要说到的Xml对象一起用到。
XDocument有两个重要的方法load()和save(),这两个方法的功能和名字一样好理解就是加载和保存Xml格式的文本或者流信息。
using System.Xml.Ling;
public void LoadAndSave()
{
//真是使用的时候最好不要在网站中,避免Xml被直接下载。
XDocument xdoc = XDocument.Load(Server.MapPath(“hamlet.xml”));
Response.Write(xdoc.Root.Name.ToString() +”<br />”);
response.Write(xdoc.Root.HasAttributes.ToString() +“<br />”);
//另存一份到C盘根目录
xdoc.Save(@”c:\copeofHamlet.xml”);
}
XElement
XElement是一个非常常用的对象,他用于表示或者创建一个代表XML元素的对象,这个元素的范围没有限制,可能是XML根元素也可以是最小的叶子元素。
public void MyXElement() { //建立一个层次元素 //XElement 的第一个参数是元素名称,第二个参数是元素的值 XElement xe = new XElement("Company", new XElement("CompanyName", "Lipper"), new XElement("CompanyAddress", new XElement("Address", "123 Main Street"), new XElement("City", "St. Louis"), new XElement("State", "MO"), new XElement("Country", "USA"))); TextBox1.Text = xe.ToString(); }
XNamespace
XNamespace 可以为任何一个XML元素添加命名空间标识属性。
public void MyXNamespace() { //定义并添加一个命名空间 XNamespace xn = "http://terryfeng.cnblogs.com"; XElement xe = new XElement(xn + "Company", new XElement("CompanyName", "Lipper"), new XElement("CompanyAddress", new XElement("Address", "123 Main Street"), new XElement("City", "St. Louis"), new XElement("State", "MO"), new XElement("Country", "USA"))); TextBox1.Text = xe.ToString(); }
XComment
XComment 用于将XML注释<!-- 注释--> 添加到XML内容当中。
public void MyXComment() { XDocument xdoc = new XDocument(); XComment xc1 = new XComment("XML 注释1"); xdoc.Add(xc1); XElement xe = new XElement("元素名", new XComment("下面是元素的值"), "元素值"); xdoc.Add(xe); XComment xc2 = new XComment("XML 注释2"); xdoc.Add(xc2); TextBox1.Text = xdoc.ToString(); }
XAttribute
XAttribute 可以猜到这个与XML属性有关的重要属性,使用的频率也是非常的多,他可以代表一个XML属性或者添加一个XML属性。
public void MyXAttribute() { XElement xe = new XElement("Company", new XAttribute("AttributeName", "AttributeValue"), new XElement("CompanyName", "Lipper"), new XElement("CompanyAddress", new XElement("Address", "123 Main Street"), new XElement("City", "St. Louis"), new XElement("State", "MO"), new XElement("Country", "USA"))); TextBox1.Text = xe.ToString();
}