Работа с XML - PullRequest
       20

Работа с XML

0 голосов
/ 02 февраля 2010

Я планирую создать новость, которая использует xml в качестве бэкэнда, и отображение должно быть таким:

Дата: 08 марта 2010 г.
------------------------------
Название | Новости
------------------------------
Новости 4 | Некоторые новости
Новости 3 | Некоторые новости
Новости 2 | Некоторые новости
Новости 1 | Некоторые новости
------------------------------
Дата: 07 марта 2010 года
------------------------------
Название | Новости
------------------------------
Новости 5 | Некоторые новости
Новости 4 | Некоторые новости
Новости 3 | Некоторые новости
Новости 2 | Некоторые новости
Новости 1 | Некоторые новости

  1. Отображение должно быть отсортировано по дате (по убыванию)
  2. Тогда новости должны быть отсортированы по времени (по убыванию)

Сегодняшняя новость должна быть сверху, затем заголовки должны быть отсортированы по убыванию (по времени), позже появятся новости за предыдущий день.

Я не могу придумать логику xml, которая должна использоваться в этом случае. Более того, я не могу понять, как мне проверять «сегодняшнюю дату» в XML-выражении «если». Могу ли я получить образец кода, чтобы понять эту логику ???

---- Предыдущий вопрос ----------------------------------------- -------------------------
Как я могу экспортировать данные из textBox1, textBox2 и textBox3 на мою winform (Visual Studio C #), чтобы он мог автоматически создавать XML-файл с правильным размещением этих данных ????
Скажем так:
textBox1 = Имя:
textBox2 = Возраст:
textBox3 = Roll No

Было бы замечательно, если экспортированный xml можно добавить (добавить новые данные в EOF), если мы снова экспортируем данные.

Любая идея, плз .....

Ответы [ 3 ]

2 голосов
/ 02 февраля 2010

Существует множество способов создания файлов XML в .NET. Вы можете использовать сериализация объекта , XmlWriter , XDocument , ...

Вот пример:

new XDocument(
    new XElement("user",
        new XElement("name", textBox1.Text),
        new XElement("age", textBox2.Text),
        new XElement("rollNo", textBox3.Text)
    )
).Save("user.xml");

Может сгенерировать файл XML, который выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<user>
  <name>foo</name>
  <age>20</age>
  <rollNo>123</rollNo>
</user>
0 голосов
/ 06 марта 2010

Я смог выяснить ответ и смог провести 1-е испытание с xml успехом . Я пытался работать с XML и C #. Итак, я начал с небольшой вещи:

  1. Форма окна, в которой можно указать отдел, имя и номер сотрудника
  2. При нажатии кнопки «Отправить» будет написано xml, затем все текстовые поля будет очищен, а XML будет отображается пользователю.

Вот рабочий код нажатия кнопки.

private void button1_Click(object sender, EventArgs e)
        {
            string path = "employee.xml";
            if (File.Exists(path))
            {
                // to append a new user having reset the textboxes
                XDocument doc = XDocument.Load(path);
                XElement xe = new XElement("user",
                    new XElement("department", textBox1.Text),
                    new XElement("name", textBox2.Text),
                    new XElement("empno", textBox3.Text)
                    );
                doc.Root.Add(xe);
                doc.Save(path);
            }
            else
            {
            new XDocument(
                new XElement("users",
                    new XElement("user",
                    new XElement("department", textBox1.Text),
                    new XElement("name", textBox2.Text),
                    new XElement("empNo", textBox3.Text)
                    )
                )
                ).Save(path);
            }
            textBox1.Text="";
            textBox2.Text="";
            textBox3.Text="";
            MessageBox.Show("Data added successfully","Done!!",MessageBoxButtons.OK);
            this.button1.Enabled=false;
            f2=new Form2();
            f2.FormClosed += Form2_FormClosed;
            f2.Show();
        }

К сожалению, я не смог получить какую-либо помощь (Stackoverflow) для редактирования XML ... поэтому я решил поделиться этим кодом со всеми здесь. Может быть, этот ответ поможет кому-то новому, как я.

Этот код может быть изменен с улучшением навыков и утилит, и если у кого-то есть время и желание помочь новичку, тогда, пожалуйста, приходите вперед.

Удачи всем новичкам здесь:)

0 голосов
/ 02 февраля 2010

Есть миллион способов сделать это. Подход, который я бы использовал в описанной вами ситуации:

  1. Создайте класс, свойства которого являются элементами данных, которые мне нужно собрать.
  2. Либо используйте сериализацию XML (если я не соответствую определенной схеме, это подход, требующий наименьшего количества кода), либо встроите метод в класс, который использовал XDocument или XmlWriter для создания XML. 1008 *
  3. Написание контрольных примеров для проверки класса и его метода генерации XML.
  4. Постройте форму.
  5. Свяжите элементы управления пользовательского интерфейса со свойствами экземпляра моего класса.

Что бы я не делал: напишите в форме метод, который извлекает данные из элементов управления формы и записывает их в XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...