C# 创建XML文档
2013-12-28 12:55
477 查看
有些时候我们需要生成一个xml文档作为数据交换的容器。当然我们用拼接字符串的方法来进行构建xml,但是这种方法虽然简单有效,但是如果xml文档结构过于复杂,拼接字符串会让人眼花缭乱。这时候就需要C#给我们提供现成的类库,以供我们自由的创建xml文档。比如我们要创建如下的xml文档
可以发现Linq to XML的方法比较简洁,代码量也足够小。当然了XmlDocument的方法可以进一步的简化,这里重点展示一下Linq to XML的魅力。呵呵,如上只当给需要的朋友提供一下思路和解决方案。关于Linq to xml的更多信息可以参考:XNamespace。本文出自 “Focus on .NET” 博客,请务必保留此出处http://csharper.blog.51cto.com/3052247/1345986
<?xml version="1.0" encoding="UTF-8"?> <ns0:Z_AVS_UPLOAD_WEIGHT_Request xmlns:ns0="http://schemas.microsoft.com/BizTalk/2003"> <ZWERKS>ZFM1</ZWERKS> <TAB1> <ZNO>13022101</ZNO> <ZORDER>2013238955</ZORDER> <ZWEIGHT>4140</ZWEIGHT> </TAB1> <TAB1> <ZNO>13022101</ZNO> <ZORDER>2013239627</ZORDER> <ZWEIGHT>4140</ZWEIGHT> </TAB1> </ns0:Z_AVS_UPLOAD_WEIGHT_Request>选取这样的结构,一方面是因为它来自于论坛某位坛友实际的需求,另一方面它足够简单却有代表性。下面我将以这个例子用两种方法(XmlDocument和Linq to XML)进行讲解。1、XmlDocument
XmlDocument document = new XmlDocument(); XmlDeclaration declaration = document.CreateXmlDeclaration("1.0", "UTF-8", "");//xml文档的声明部分 document.AppendChild(declaration); XmlElement root = document.CreateElement("ns0", "Z_AVS_UPLOAD_WEIGHT_Request", "http://schemas.microsoft.com/BizTalk/2003"); document.AppendChild(root); XmlElement zwerks = document.CreateElement("ZWERKS"); zwerks.InnerText = "ZFM1"; root.AppendChild(zwerks); XmlElement tab1 = document.CreateElement("TAB1"); root.AppendChild(tab1); XmlElement zno = document.CreateElement("ZNO"); zno.InnerText = "13022101"; tab1.AppendChild(zno); XmlElement zorder = document.CreateElement("ZORDER"); zorder.InnerText = "2013238955"; tab1.AppendChild(zorder); XmlElement zweight = document.CreateElement("ZWEIGHT"); zweight.InnerText = "4140"; tab1.AppendChild(zweight); XmlElement tab2 = document.CreateElement("TAB1"); root.AppendChild(tab2); XmlElement zno2 = document.CreateElement("ZNO"); zno2.InnerText = "13022101"; tab2.AppendChild(zno2); XmlElement zorder2 = document.CreateElement("ZORDER"); zorder2.InnerText = "2013238955"; tab2.AppendChild(zorder2); XmlElement zweight2 = document.CreateElement("ZWEIGHT"); zweight2.InnerText = "4140"; tab2.AppendChild(zweight2); document.Save("test.xml");//将生成好的xml保存到test.xml文件中2、Linq to XML
XDocument document = new XDocument(); document.Declaration = new XDeclaration("1.0", "UTF-8", ""); XNamespace ns = "http://schemas.microsoft.com/BizTalk/2003"; XElement root = new XElement(ns + "Z_AVS_UPLOAD_WEIGHT_Request", new XAttribute(XNamespace.Xmlns + "ns0", "http://schemas.microsoft.com/BizTalk/2003")); root.Add(new XElement("ZWERKS", "ZFM1"), new XElement("TAB1", new XElement("ZNO", 13022101), new XElement("ZORDER", 2013238955), new XElement("ZWEIGHT", 4140)), new XElement("TAB1", new XElement("ZNO", 13022101), new XElement("ZORDER", 2013238955), new XElement("ZWEIGHT", 4140)) ); document.Add(root); document.Save("test.xml");//保存xml到文件
可以发现Linq to XML的方法比较简洁,代码量也足够小。当然了XmlDocument的方法可以进一步的简化,这里重点展示一下Linq to XML的魅力。呵呵,如上只当给需要的朋友提供一下思路和解决方案。关于Linq to xml的更多信息可以参考:XNamespace。本文出自 “Focus on .NET” 博客,请务必保留此出处http://csharper.blog.51cto.com/3052247/1345986
相关文章推荐
- 用C#创建XML文档和读取并修改XML文档
- c# 创建xml文档
- C# 创建XML文档
- 转载:C#来创建和读取XML文档
- C#创建xml文档小例子
- C#使用反射得到属性然后创建xml文档
- [续]C#使用反射得到属性然后创建xml文档
- C#来创建和读取XML文档
- C# 创建XML文档
- C#学习笔记之创建Xml文档
- C# WinForm 创建XML文件方法总结
- C#文件创建、移动、删除、复制
- 【转载】C# 文件操作 全收录 追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件....
- C#创建Windows Service(Windows 服务)基础教程
- C#创建Windows服务程序
- C#演练—Windows应用程序演练—创建简单的Windows窗体
- 如何利用C#创建和调用DLL
- [No000074]C#创建桌面快捷方式
- C#创建使用一般处理程序.ashx
- C#创建windows服务搭配定时器Timer使用实例(用代码做,截图版)(从iteye搬到博客园)