C#代码生成XML文件

1 篇文章 0 订阅

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到文件
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# 中,你可以使用 `Microsoft.Office.Interop.Excel` 程序集中的 `Workbook` 和 `Worksheet` 类来读取 Excel 文件中的数据,然后将其转换为 XML 格式并保存为文件。 以下是一个简单的示例代码,演示如何将 Excel 文件转换为 XML 文件: ```csharp using System.Xml; using Microsoft.Office.Interop.Excel; // 创建一个新的Excel应用程序实例 Application excel = new Application(); Workbook workbook = excel.Workbooks.Open(@"C:\path\to\workbook.xlsx"); Worksheet sheet = workbook.Sheets[1]; // 创建一个新的XmlDocument对象 XmlDocument xmlDocument = new XmlDocument(); // 创建根元素 XmlElement rootElement = xmlDocument.CreateElement("Workbook"); xmlDocument.AppendChild(rootElement); // 逐行读取Excel数据并将其转换为Xml元素 for (int i = 1; i <= sheet.UsedRange.Rows.Count; i++) { XmlElement rowElement = xmlDocument.CreateElement("Row"); rootElement.AppendChild(rowElement); for (int j = 1; j <= sheet.UsedRange.Columns.Count; j++) { object cellValue = sheet.Cells[i, j].Value2; XmlElement cellElement = xmlDocument.CreateElement("Cell"); cellElement.InnerText = cellValue.ToString(); rowElement.AppendChild(cellElement); } } // 保存Xml文件 xmlDocument.Save(@"C:\path\to\output.xml"); // 关闭Excel应用程序和工作簿 workbook.Close(false); excel.Quit(); ``` 在上面的示例代码中,我们首先使用 `Microsoft.Office.Interop.Excel` 程序集创建了一个新的 Excel 应用程序实例,并打开了一个工作簿。然后,我们选择了工作簿中的第一个工作表,并使用 `UsedRange` 属性获取其使用的范围。 接下来,我们创建了一个新的 `XmlDocument` 对象,并为其添加了一个根元素。然后,我们使用一个循环逐行读取 Excel 文件中的数据,并将其转换为 XML 元素。最后,我们保存了 XML 文件,并关闭了 Excel 应用程序和工作簿。 请注意,上述示例使用了 `Value2` 属性来获取单元格的值。这是因为 `Value2` 属性返回一个未经格式化的值,可以更快地读取和处理数据。如果需要,你也可以使用 `Value` 属性来获取单元格的格式化值。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值