Работа с xml файлом - C# (190016)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Помогите пожалуйста с записью в конец XML файла. Структура xml файла выглядит следующим образом:
<?xml version="1.0"?>
<codes>
  <time>03 07</time>
  <date>04 10 2015</date>
  <code>472220080</code>
  <code>3210994799</code>
  <code>4164663102</code>
  <code>1829435503</code>
  <code>2699617385</code>
  <code>2404605589</code>
  <code>2316076087</code>
  <code>2171449774</code>
  <code>3178396616</code>
  <code>347239360</code>
  <code>1337025924</code>
  <code>1671533457</code>
</codes>
Реализация на C#:
public void Write(List<uint> list, string path, string time, string date)
        {
            var info = new FileInfo(path);
            if (info.Length == 0)
            {
                var writer = new XmlTextWriter(path, null) {Formatting = Formatting.Indented};
                writer.WriteStartDocument();
                writer.WriteStartElement("codes");
                writer.WriteElementString("time", time);
                writer.WriteElementString("date", date);
                foreach (var t in list)
                {
                    writer.WriteElementString("code", t.ToString());
                }
                writer.WriteEndElement();
                writer.WriteEndDocument();
                writer.Close();
           }
            if(info.Length!=0)
            {
                XmlDocument _doc = new XmlDocument();
                _doc.Load(path);
                XmlElement codesElement = _doc.CreateElement("codes");
 
                XmlElement timeElement = _doc.CreateElement("time");
                timeElement.InnerText = time;
                codesElement.AppendChild(timeElement);
 
                XmlElement dateElement = _doc.CreateElement("date");
                dateElement.InnerText = date;
                codesElement.AppendChild(dateElement);
 
                XmlElement codeElement;
                foreach (var t in list)
                {
                    codeElement = _doc.CreateElement("code");
                    codeElement.InnerText = t.ToString();
                    codesElement.AppendChild(codeElement);
                }

                //_doc.DocumentElement.AppendChild(newUser);
                _doc.Save(path); 
            }
        }
С записью в пустой файл у меня не возникает проблем,а вот с записью в конец файла возникают. Заранее благодарю!!

Решение задачи: «Работа с xml файлом»

textual
Листинг программы
using System;
using System.IO;
using System.Xml.Linq;
 
internal class Program
{
    private static void Main(string[] args)
    {
        var doc = XDocument.Load(new StringReader(@"<?xml version='1.0'?>
<codes>
  <time>03 07</time>
  <date>04 10 2015</date>
  <code>472220080</code>
  <code>3210994799</code>
  <code>4164663102</code>
  <code>1829435503</code>
  <code>2699617385</code>
  <code>2404605589</code>
  <code>2316076087</code>
  <code>2171449774</code>
  <code>3178396616</code>
  <code>347239360</code>
  <code>1337025924</code>
  <code>1671533457</code>
</codes>"));
 
        doc.Document.Root.Add(new XElement("code", 999999999999));
        doc.Save("file.xml");
 
        Console.WriteLine(doc);
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5