0

だから私は次の形式の大きな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();

        }

    }
}

ありがとう。良い一日を。

4

2 に答える 2

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(); 
 }
于 2012-05-14T18:22:14.623 に答える
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");
于 2012-05-14T18:32:25.640 に答える