1. C# / Говнокод #3894

    +124

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    public void GeneratXMLForChatServerControl()
            {
                List<ClassUsersList> List = GetUsersList();
                System.IO.StreamWriter TextW = new System.IO.StreamWriter("Update_Settings.xml", false,System.Text.Encoding.GetEncoding("UTF-8"));
                
                TextW.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
                TextW.WriteLine("<General>");
                foreach (ClassUsersList User in List)
                {
                    User.Information = User.Information.Replace("<", "");
                    User.Information = User.Information.Replace(">", "");
                    User.Information = User.Information.Replace("&", "");
                    TextW.WriteLine("<Name>" + User.Information + "</Name>");
                    TextW.WriteLine("<Login>" + User.UIN + "</Login>");
                    TextW.WriteLine("<Password>" + User.Pwd + "</Password>");
                    TextW.WriteLine("<LocalPath>D:\\chat2\\" + User.UID + "\\</LocalPath>");
                    TextW.WriteLine("<UID>" + User.UID + "</UID>");
                    TextW.WriteLine("<UIN>" + User.UIN + "</UIN>");
                    TextW.WriteLine("<Lock>0</Lock>");
                    TextW.WriteLine("");
                }
                TextW.WriteLine("</General>");
                TextW.Flush();
                TextW.Close();         
            }

    Крутобл, создаём XML налету

    Запостил: Nigma143, 06 Августа 2010

    Комментарии (14) RSS

    • интересно, неужели автор и читает ХМЛ прямым разбором строк одна-за-другой?
      Ответить
    • User.Information = User.Information.Replace("<", "");
      Защита от поломки структуры XML хDDD
      Ответить
    • знатное студенческое говницо
      Ответить
    • де Generat?
      Ответить
    • Автору еще учиться и учиться.
      При желании можно создать нужные структуру с нужной иерархией и использовать стандартную функцию serialize
      Ответить
      • Да по сути взгляни на структуру XML она сама посути кривая
        >>TextW.WriteLine("");
        Правильнее было бы каждую учётку в отдельную обёртку брать типа
        <record>
        .............
        </record>
        Ответить
    • У меня много знакомых, которые говорят что LINQ от лукавого, и пишут такое.....
      Ответить
      • А зачем сразу Linq 2 xml ? можно же многими способами воспользоваться:
        XmlDocument,
        XmlWriter,
        XmlSerializer,
        XamlWritter...
        Ответить
        • Можно. Просто LinqToXML позволяет создать файл указанного вида одной командой.
          Ответить
    • XElement body =
      new XElement("items",
      new XElement("General",
      new XElement("key", new XAttribute("name", Common.XmlKeys.IS_SUCCESS), isSucess),
      new XElement("key", new XAttribute("name", Common.XmlKeys.OPERATION_NUMBER), operationNumber),
      new XElement("key", new XAttribute("name", "from"), own.AppKey)),
      new XElement("Result", resultMessage)
      );

      body.ToString();

      Вот как-то так удобно
      Ответить
    • ohshi~, только заметил хадркод с путями
      <LocalPath>D:\\chat2\\" + User.UID + "\\</LocalPath>
      Ответить
      • Все юзаем path.combine, а работать с путями в строке, грубая ошибка
        Ответить

    Добавить комментарий