如何使用C#编写或生成XML文件以获得下面的结果?
<?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>发布于 2009-05-25 18:00:46
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);发布于 2009-05-25 18:03:04
一种相当简单的方法可能是这样的:
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
}发布于 2009-05-25 18:00:56
我猜大概是这样的:
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(); https://stackoverflow.com/questions/907539
复制相似问题