C#两种创建XML文档的方法

C#有两种创建XML文档的方法

1.XmlDocument

2.Linq to XML

第一种:XmlDocument

结果:[xml文件如下]

<?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]
    XmlDocument document = new XmlDocument();//创建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文件中

第二种:Linq to XML

结果:[xml文件如下]

<a>
    <xingming>
        <item>
            <name>张三</name>
            <code>1</code>
        </item>
        <item>
            <name>李四</name>
            <code>2</code>
        </item>
        <item>
            <name>王五</name>
            <code>3</code>
        </item>
        <item>
            <name>赵四</name>
            <code>4</code>
        </item>
        <item>
            <name>王二麻子</name>
            <code>5</code>
        </item>
    </xingming>
    <nianji>
        <item>
            <name>一年级</name>
            <banji>一班</banji>
        </item>
    </nianji>
</a>
  • 实现:[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到文件
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中解析XML文件有两种方式:XmlDocument和XmlReader。 1. 使用XmlDocument解析XML文件 XmlDocument是一种基于树形结构的解析方式,可以将整个XML文档加载到内存中,然后通过操作节点的方式来访问XML文档中的数据。 以下是一个使用XmlDocument解析XML文件的例子: ```csharp XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("file.xml"); // 加载XML文件 XmlNodeList nodeList = xmlDoc.SelectNodes("//book"); // 选择所有book节点 foreach (XmlNode node in nodeList) { string title = node.SelectSingleNode("title").InnerText; // 获取title节点的文本内容 string author = node.SelectSingleNode("author").InnerText; // 获取author节点的文本内容 Console.WriteLine("Title: {0}, Author: {1}", title, author); } ``` 2. 使用XmlReader解析XML文件 XmlReader是一种基于流的解析方式,可以逐个节点地读取XML文档中的数据,不需要将整个XML文档加载到内存中。 以下是一个使用XmlReader解析XML文件的例子: ```csharp XmlReaderSettings xmlReaderSettings = new XmlReaderSettings(); xmlReaderSettings.IgnoreWhitespace = true; // 忽略空白 xmlReaderSettings.IgnoreComments = true; // 忽略注释 using (XmlReader xmlReader = XmlReader.Create("file.xml", xmlReaderSettings)) { while (xmlReader.Read()) { if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "book") { string title = xmlReader.GetAttribute("title"); // 获取title属性的值 string author = xmlReader.GetAttribute("author"); // 获取author属性的值 Console.WriteLine("Title: {0}, Author: {1}", title, author); } } } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值