Глава 40 – Работа с XML

Работа с XML

Приобрести книгу можно на сайте ozon.ru и в электронном виде на Google Play:
Приобрести книгу о Qt и C++ на Ozon.ru Купить книгу о Qt и C++ на Goole Play

6 thoughts on “Глава 40 – Работа с XML

  1. Здравствуйте, Макс!
    В листингах 40.4 и 40.5 программы, которая создает XML-документ и записывает его в файл, в функциях contact и makeElement Вы передаете элемент domDoc, типа QDomDocument по ссылке (QDomDocument& domDoc).
    Я правильно понимаю, что это сделано для того, чтобы снизить накладные расходы (т.е. при сохранении большого XML-файла не копировать большой объем данных в каждую из этих функций)?
    Возник вопрос об отличии узла от элемента в XML. Правильно ли я понимаю, что узлом может быть и атрибут, и текст, а элемент – это конкретно открывающий и закрывающий тег и все параметры (имя, атрибут, текст и т.д.)? И любой элемент в XML также является узлом? Т.е., как я понял, узел, понятие более абстрактное, чем элемент…

    1. Здравствуйте, Вячеслав!
      Методы contact() и makeElement() можно было бы совместить в одном единственном методе. Я их разделил только для того чтобы немного сделать код программы более читаемым. Вызываемому методу makeElement() нужнет объект QDomDocument, поэтому мы его передаем в метод contact(), а тот передает его дальше. Узел дерева DOM обязательно имеет открывающий тег и закрывающий тег, все что располагается между этими тегами является дочерними узлами этого элемента. Аттрибуты не обладают таким свойством, поэтому узламы они не являются.

  2. На странице 596: “Вывод на консоль будет следующим: …”, должны быть выведены все контакты в xml-документе, т.е. Piggy и Kermit.

    1. Да, именно так. Вывод для примера должен быть следующим:
      “(name:Piggy email:piggy@mega.de phone:+49 631322187) (name:Kermit email:kermit@mega.de phone:+49 631322181) \n”

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