Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
ВнизПроблемка с XML-файлом Найти похожие ветки
← →
zhegulov (2006-05-02 15:49) [0]На Delphi2005 пишу код для формирования xml-файла:
Form1.XMLDocument2.Active:=True;
Form1.XMLDocument2.Encoding:="windows-1251";
Form1.XMLDocument2.AddChild("Packet");
Form1.XMLDocument2.ChildNodes[1].Attributes["xmlns"]:="v1.1";
Form1.XMLDocument2.ChildNodes[1].Attributes["EDNo"]:="11";
Form1.XMLDocument2.ChildNodes[1].Attributes["EDDate"]:="22";
Form1.XMLDocument2.ChildNodes.Nodes[1].AddChild("ED101");
Form1.XMLDocument2.ChildNodes.Nodes[1].ChildNodes[i].Attributes["EDNo"]:="11";
Form1.XMLDocument2.ChildNodes.Nodes[1].ChildNodes[i].Attributes["EDDate"]:="22";
итд...
В итоге получаю такой файл:
<?xml version="1.0" encoding="windows-1251"?>
<Packet xmlns="v1.1" EDNo="11" EDDate="22" >
<ED xmlns="" EDNo="11" EDDate="22" >
</ED>
</Packet>
Проблема в том что в элементе ED проставляется ненужный аттрибут xlmns="". Я его нигде не задаю и где нужно указать чтобы он не формировался не знаю. На другой машине где не установлены Delphi все формируется нормально без xmlns="".
Подскажите пожалуйста как и где настроить чтобы и на моей машине нормально формировалосью Может в компоненте какие параметры задать. Очень прошу помощи, а то замучился совсем.
← →
Reindeer Moss Eater © (2006-05-02 17:03) [1]Видимо ты запутался в трех соснах.
AddChild это функция, которая возвращает IXMLNode.
А ты это возвращаемое значение нигде не используешь, полагаясь на абсолютные индексы нодов.
← →
Плохиш © (2006-05-02 17:13) [2]
> zhegulov (02.05.06 15:49)
Тут вообще итоговый файл не соответствует приведённому коду
> Form1.XMLDocument2.ChildNodes.Nodes[1].AddChild("ED101");
> <ED xmlns="" EDNo="11" EDDate="22" >
← →
Reindeer Moss Eater © (2006-05-02 17:21) [3]Кому поручают новые форматы электронных платежей. Жуть!
:)
← →
zhegulov (2006-05-03 08:13) [4]То Плохиш. Ладно чуть сократил код не буду всю программу сюда толкать. Сам смысл вопроса что не понятен?
То Reindeer. Да везде использую абсолютные индексы.
Ну что не кто не поможет.
← →
Плохиш © (2006-05-03 10:45) [5]
> Ладно чуть сократил код не буду всю программу сюда толкать.
> Сам смысл вопроса что не понятен?
Т.е. ты предлагаешь погадать, что же у тебя там твориться? Ну что ж, пойду капучино заварю.
← →
REA (2006-05-03 11:13) [6]While not understand Do [1]
← →
Reindeer Moss Eater © (2006-05-03 14:05) [7]Да везде использую абсолютные индексы.
Тогда тебе нужны тренировки по арифметике. Подсчет предметов с помощью палочек.
← →
abasheev (2006-05-04 10:50) [8]Что делать?
написал програмульку, которая создаёт ХМЛ документ и созраняет его в файл. при компилировании все отлично, но программа не работает
говорит, что не может запустить или не запущена CoInitializeprogram Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, XMLDoc, XMLIntf;
var XMLfile: IXMLdocument;
iNode: IXMLNode;
begin
{ TODO -oUser -cConsole Main : Insert code here }
XMLfile := TXMLDocument.Create(nil);
XMLfile.Active:=true;
iNode:= XMLfile.AddChild("quiz"); //nachalo bloka zadaniy
XMLfile.SaveToFile("tsk.xml");
end.
← →
Плохиш © (2006-05-04 10:58) [9]
> abasheev (04.05.06 10:50) [8]
> Что делать?
> говорит, что не может запустить или не запущена CoInitialize
Для начала нужно приобрести словарь, что бы точно узнать "не может" или "не запущена". После вставить в программу вызов функции CoInitialize перед всей обработкой и после обработки - CoUninitialize.
← →
Reindeer Moss Eater © (2006-05-04 10:58) [10].. говорит, что не может запустить или не запущена CoInitialize
А ты конечно же не согласен запускать CoInitialize ни в какую.
← →
abasheev (2006-05-04 12:24) [11]цитирую:
Project Project1.exe raised exception class EOleSysError with message "CoInitialeze has not been called". Process stoped.
что мне сделать?
что надо добавить?
← →
Reindeer Moss Eater © (2006-05-04 13:30) [12]Добавить вызов, который еще has not been called.
← →
abasheev (2006-05-04 14:25) [13]Всем спасибо.
Кое как нашел.
Просто, я чайник совсем.
Добавил CoInitialize(nil) перед работой с классом.
И, оказывается, это фигнюшечка находится в библиотеке ActiveX. Соответственно, добавил это стремное слово в uses
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.014 c