StalkerSoftware
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Alexey_Gawrilow Цитата: Но иногда, нужно программировать самому. Ну или хотя бы сложить вместе несколько частей. | Сам я что то подобное давно сделал. Просто подумал, может есть что то готовое и заточенное под такие сравнения. Есть другой вопрос. Delphi 10.2.3 Понадобилось мне тут работать с XML. Создание XML, запись его в базу или файл, чтение XML назад, изменение некоторых нод xml. Для этого решил попробовать штатный TXMLDocument. Все параметры его оставил по умолчанию, поменял только свойство DOMVendor с MSXML на Omni XML. В ходе работы обнаружился странный момент: Код создающий простой xml: Код: iRootNode :IXMLNode; XMLDocument.XML.Clear; XMLDocument.Active := True; iRootNode := XMLDocument.AddChild('items'); iRootNode.AddChild('item1').Text := ''; iRootNode.AddChild('item2').Text := 'test'; XMLDocument.SaveToFile('test1.xml'); XMLDocument.Active := False; XMLDocument.XML.Clear; XMLDocument.LoadFromFile('test1.xml'); XMLDocument.Active := True; XMLDocument.SaveToFile('test2.xml'); | В результате работы этого кода получаю два файла: test1.xml <items><item1></item1><item2>test</item2></items> test2.xml <items><item1/><item2>test</item2></items> Обратите внимание: Когда я создавал XML и в item1 присвоил пустое значение, то в файле это отразилось в виде полного тега <item1></item1>, а когда я этот же файл опять загрузил в XMLDocument и включил свойство Active (в этот момент как я понимаю происходит парсинг XML), то тег item1 стал почему то не полным <item1/>. Я в курсе, что оба варианта являются правильным, НО почему когда создаешь XML, то пустое значение заключается в полный тэг, а когда просто прочитал этот XML, то у пустого значения уже не полный тег ? Можно ли это как то исправить, что бы во всех случаях оно было одинаково (мне это очень важно) ? Или может быть это ошибка вендора "Omni XML" ? Ну и общий вопрос: Может вообще не стоило связываться с TXMLDocument, а надо было взять какую то стороннюю библиотеку работы с XML ? |