所以我试图创建一个格式为的大型XML文件:
<xml>
<element id ="1">1</element>
<element id ="2">2</element>
<element id ="3">3</element>
...
<element id ="100000000">100000000</element>
</xml>
使用C#。我似乎无法找到一种方法来格式化元素以在声明中包含id(我根本不熟悉XML)。
有谁知道我怎么能在C#中做到这一点?
这是我的尝试:
using System;
using System.Xml;
using System.Linq;
using System.Text;
namespace BigXML
{
class Class1
{
static void Main(string[] args)
{
// Create a new file in C:\\ dir
XmlTextWriter textWriter = new XmlTextWriter("C:\\Users\\username\\Desktop\\testBigXmFile.xml", null);
textWriter.Formatting = Formatting.Indented;
textWriter.Indentation = 3;
textWriter.IndentChar = ' ';
// Opens the document
textWriter.WriteStartDocument(true);
textWriter.WriteStartElement("xml");
// Write comments
for (int i = 0; i < 100000000; i++)
{
textWriter.WriteElementString("element id =" + '"' + i.ToString() + '"', i.ToString());
}
textWriter.WriteEndElement();
textWriter.WriteEndDocument();
textWriter.Close();
}
}
}
谢谢你,祝你有愉快的一天。
答案 0 :(得分:5)
您需要编写属性“id”。有几种方法可以像XmlWriter.WriteAttributeString
那样进行 for (int i = 0; i < 100000000; i++)
{
textWriter.WriteStartElement("book");
writer.WriteAttributeString("id", i.ToString());
textWriter.WriteString(i.ToString());
textWriter.WriteEndElement();
}
答案 1 :(得分:0)
同时查看System.Xml.Linq。您可以像使用XDocument一样执行相同的操作
XDocument xdocfoo = new XDocument(new XElement("xml"));
for (int i = 0; i < 100; i++)
{
XElement ele = new XElement("element");
ele.SetAttributeValue("id", i.ToString());
ele.Value = i.ToString();
xdocfoo.Root.Add(ele);
}
xdocfoo.Save(@"c:\foo.xml");