首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写或生成XML文件

如何编写或生成XML文件
EN

Stack Overflow用户
提问于 2009-05-25 17:52:11
回答 7查看 749关注 0票数 3

如何使用C#编写或生成XML文件以获得下面的结果?

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<pages>
<page name="Page Name 1" url="/page-1/" />
<page name="Page Name 2" url="/page-2/" />
<page name="Page Name 3" url="/page-3/" />
<page name="Page Name 4" url="/page-4/" />
</pages>
EN

回答 7

Stack Overflow用户

发布于 2009-05-25 18:00:46

代码语言:javascript
复制
using System.Linq;
using System.Xml;
using System.Xml.Linq;

// ...

using (var writer = XmlWriter.Create("output.xml"))
     new XDocument(
        new XDeclaration("1.0", "UTF-8", null),
        new XElement("pages",
            Enumerable.Range(1, 4)
                .Select(i => new XElement("page",
                                  new XAttribute("name", "Page Name " + i),
                                  new XAttribute("url", "/page-" + i + "/"))))
     ).WriteTo(writer);
票数 10
EN

Stack Overflow用户

发布于 2009-05-25 18:03:04

一种相当简单的方法可能是这样的:

代码语言:javascript
复制
XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = Encoding.UTF8;
settings.Indent = true;
using (XmlWriter writer = XmlWriter.Create(@"c:\path\file.xml", settings))
{

    writer.WriteStartElement("pages");

    for (int i = 1; i < 5; i++)
    {
        writer.WriteStartElement("page");
        writer.WriteAttributeString("name", "Page Name " + i.ToString());
        writer.WriteAttributeString("url", string.Format("/page-{0}/", i));
        writer.WriteEndElement(); // page
    }
    writer.WriteEndElement(); // pages
}
票数 5
EN

Stack Overflow用户

发布于 2009-05-25 18:00:56

我猜大概是这样的:

代码语言:javascript
复制
System.Xml.XmlTextWriter writer = new System.Xml.XmlTextWriter(Server.MapPath("pages.xml"), System.Text.Encoding.UTF8);

        writer.WriteStartDocument();
        writer.WriteStartElement("pages");

        writer.WriteStartElement("page");
        writer.WriteAttributeString("name", "Page name 1");
        writer.WriteAttributeString("url", "Page url 1");
        writer.WriteEndElement();

        writer.WriteStartElement("page");
        writer.WriteAttributeString("name", "Page name 2 ");
        writer.WriteAttributeString("url", "Page url 2");
        writer.WriteEndElement();

        writer.WriteStartElement("page");
        writer.WriteAttributeString("name", "Page name 3");
        writer.WriteAttributeString("url", "Page url 3");
        writer.WriteEndElement();

        writer.WriteEndElement();
        writer.WriteEndDocument();
        writer.Close();  
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/907539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档