Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Подземелье Магов
  
 

Фильтр по датам

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  16:28[Войти] | [Зарегистрироваться]

Обсуждение материала
Использование XML в среде Delphi
Полный текст материала


Другие публикации автора: Александр Календарев

Цитата или краткий комментарий:

«... Последнее время много внимания уделяется построению систем электронного бизнеса, или как их еще назыают - B2B (business to business). Учитывая рекомендации по построению обменных потоковых систем координирующего интернет-технологий органа - WWW Consortium: акцент сделан в сторону XML-технологий и построение систем обмена XML-документами. ...»


Важно:
  • Страница предназначена для обсуждения материала, его содержания, полезности, соответствия действительности и так далее. Смысл не в разборке, а в приближении к истине :о) и пользе для всех.
  • Любые другие сообщения или вопросы, а так же личные эмоции в адрес авторов и полемика, не относящаяся к теме обсуждаемого материала, будут удаляться без предупреждения авторов, дабы не мешать жителям нормально общаться.
  • При голосовании учитывайте уровень, на который расчитан материал. "Интересность и полезность" имеет смысл оценивать относительно того, кому именно предназначался материал.
  • Размер одного сообщений не должен превышать 5К. Если Вам нужно сказать больше, сделайте это за два раза. Или, что в данной ситуации правильнее, напишите свою статью.
Всегда легче осудить сделанное, нежели сделать самому. Поэтому, пожалуйста, соблюдайте правила Королевства и уважайте друг друга.



Добавить свое мнение.

Результаты голосования
Оценка содержания

  Содержит полезные и(или) интересные сведения
[1]1583.3%
 
  Ничего особенно нового и интересного
[2]316.7%
 
  Написано неверно (обязательно укажите почему)
[3]00%
 
Всего проголосовали: 18

Оценка стиля изложения

  Все понятно, материал читается легко
[1]736.8%
 
  Есть неясности в изложении
[2]947.4%
 
  Непонятно написано, трудно читается
[3]315.8%
 
Всего проголосовали: 19




Смотрите также материалы по темам:
[XML]

Комментарии жителей
Отслеживать это обсуждение

Всего сообщений: 14

07-10-2007 02:46
Все вроде понятно только вот сталкнулсо с камнем подводным.
Сколько литры не перечитал, дык и ненашел, как работать с XML файлом если в нем около 10 итемов?


04-09-2007 07:17
спасибо, статья очень помогла, так сказать указала в правильном направлении ))
 Def


12-05-2007 14:12
Предположим  у  меня есть массив структурок с полями GoodName, Price, Quality, HZ_god и в XML-файле несколько Итемсов(Items). Как мне сделать считывание их в мой массив?
Мне казалось, что вы как раз опишете подобное после слов :
"Если из предыдущей главы мы рассмотрели варианты формирования XML-документ, то задача серверного приложения обратная - разбор XML-документов. Ниже представлена часть программы, осуществляющей разбор xml-документа:"
но там   пошло  в др. сторону...


11-01-2007 06:44
Только при попытке запустить всё описанное, уже на
Doc:=coDoc.Create;
генерит Exception, а именно Runtime error 216


31-01-2005 08:38
В целом статья понятна, читается легко. Использовал ее для написания собственной программки разбора XML-сообщений. До ошибки

FNode:= r.SelectSingleNode('//TypeDocument');
FileName:= FNode.GetAttibute('id');

дошел сам, что особенно приятно ;-))


P.S. Очень приятно, что автор бывший "Можаец", т.к. сам заканчивал сие заведение.
Сообщение не подписано


04-08-2004 19:07
сообщение от автора материала
Если говорить о скорости работы, то почему всё ж таки DOM, а не SAX?
Да, SAX быстрее, но DOM
1) проще и понятнее в реализации
2) когда это было реализованно, на msxdm.dll ver 2.0 то она в то время SAX не поддерживала

таймаут в 30 мин обходится просто,
1) новая версия msxml позволяет задать собственный таймаут,

2) есть возможность установить собственный обработчик прерывания на события:

httpRequest = new IXMLHttpRequest;
httpRequest->CreateDispatch("Microsoft.XMLHTTP", e);

COleVariant vAsync(0L), vUsr(usr), vPwd(pwd), vInXML(inXML);

httpRequest->open("POST", UTL_Null(url), vAsync, vUsr, vPwd);
httpRequest->setRequestHeader("Content-Type","text/xml");
httpRequest->send(vInXML);
CString responseText = httpRequest->GetResponseText();
httpRequest->m_lpDispatch->Release();
httpRequest->DetachDispatch();
delete httpRequest;


P.S. автору очень приятно, что его статьи читают и знают про XML/EDI


04-08-2004 18:43
сообщение от автора материала
Снежок,

есть маленькая проблема в ASP с передачей методолм POST
хотя она прекрастно решается с использованием
метода Request.BinaryRead()
надо прочитить весь входной поток и присвоить его значение строке


01-08-2003 10:13
Вместо:
Att := Doc.createAttribute ( 'Id ', ' Order');          Node.appendChild(Att);

проще (поправьте, если ошибаюсь) и вернее (пример из статьи на моем пятом дельфи не работал):
Node.setAttribute('name', 'value');


29-07-2002 14:40
сообщение от автора материала
Уважаемые Жители Королевства,

в тексте процедуры

procedure Tthread1.DataParser(Sender: Tobject);
var
  r,FNode          : IXMLDOMElement;
  Str,Filename     : String;
  parm             : String;
Begin
...  
  r:=Doc.Get_documentElement;
  FNode:= r.SelectSingleNode('//TypeDocument');
  FileName:= FNode.GetAttibute('id');          

  FileName:= FileName+'.xsl';
...
end;

следующая ошибка -
  FNode:= r.SelectSingleNode('//TypeDocument'); - возвращает тип IXMLDOMNode, а объявлен как IXMLDOMElement;
  FileName:= FNode.GetAttibute('id');  - соответственно у FNode ( IXMLDOMNode) нет метода  GetAttibute('id'), т.е. работать не будет.

необходим следующий текст:
объявить nd1 как IXMLDOMNode и вместо неправильных строчек написать  

nd1   :=nd.attributes.getNamedItem("id");
FileName:= nd1.get_Text;

Автор приносит свои извинения за проскачившую отпечатку и благодарен Максиму Захарову, за ее обнаружение


25-11-2001 16:56
сообщение от автора материала
Уважаемые жители Королевства,

Спасибо за комментарии. Общее замечание принимаю, нужна не одна сотня страниц, чтоб это описать - и что было доступно новичку.

Теперь по подробнее ответы на Ваши комментариии:
-- система реализована на Apache под WinNT. Ни о каком IE или BizTalk сдесь речи не шло. Весь обмен сделан между CGI модулями  (ISAPI)
В системе использовался стандартный XML DOM-парсер msxml.dll
Можно было использовать и другой, но это была бы другая статья.

Кстати о SAX - в настоящий момент рассматривается и его применение
(но уже в рамках другого проекта)

--- вся идея использования XML в электронной коммерции в том, что согласуется только форматы обменных потоков или как их еще можно назвать 'электронных документов' - это отдельная тема.
В качестве примера у меня взят 'ИНВОЙС' - международный документ, типа российского СЧЕТ-ФАКТУРА.

Почему нет SOAP - во первых когда начинали реализовыввать, еще спецификаций про SOAP не было, во вторых это лишь ненужная примочка.
Возможно в будущем, использование SOAP позволит унифицировать бизнесс процедуры. Но это уже отдельная тема...

Всем ответившим большая благодарность,
Александр
(Автор)


28-08-2001 12:03
Все это очень хорошо, слово BizTalk только почему-то опущено. Только вот вопрос: в такой идеологии взаимодействия объем пакетов данных которыми общаются системы в 10 раз больше чем допустим то что приходит по запросу BDE. Если решается вопрос взаимодействия офиса и региональных представителей для собственной программки - поневоле задумаешься.
Наверное эта схема хорошо работает на западе, где много мелких организаций, все автоматизированы, все по-разному и все готовы выдавать документы в электронном виде. А у нас BizTalk добавит только головной боли.


28-08-2001 11:00
К 'галопу' могу только добавить, что недельфийская терминология несколько смущает. Что такое 'инвойс' - что-то вроде входного потока данных? Или голосовой ввод? Или это транспортное средство? :)))

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

С уважением, Конрад


27-08-2001 19:07
Слишком сухо. И человек который здесь впервые встретился с описанием XML мало бы что понял.
Кроме того нисколько не затронуты некоторые важные аспекты в XML, а именно состоятельность документа (применение DTD или DCD).
По-моему для подобных тем необходим цикл статей, а не одна-две (некоторые даже книжки пишут не на одну сотню страниц, а в заключении говорят что это только начало для свободного и продолжительного плавания). Действительно >>голопом
А вот здесь мне кажется ошибочка вышла:

>>Возможен и вариант написания ASP-страниц. Но в этом случае передача данных возможна только методом 'GET' через строку запроса.
Методом POST в ASP данные прекрано передаются и принимаются.


27-08-2001 17:40
Общее впечатление - 'галопом по Европе' (только SOAP обойдён стороной). Но для вводной статьи по XML/IE, пожалуй, самое оно.

Мне интересно, насколько устойчиво работает M$ парсер, кажется,  него были некоторые проблемы (например, тайм-аут в 30 минут при разрыве соединения) и некоторая несовместимость со стандартом для IE4 (писался он ещё до утверждения стандарта + любовь к несовместимости самой M$)? Есть ли какие-либо рекомендации по использованию типа только IE x.x патч xxx (это актуально, поскольку известно, что IE несовместим ни снизу вверх, ни сверху вниз). Интересовался ли автор другими средствами (тем же апачевским парсером)? Интерес не из разряда M$-мастдай, просто есть примеры отказа от использования этих средств…

Если говорить о скорости работы, то почему всё ж таки DOM, а не SAX? :D
Сообщение не подписано


Добавьте свое cообщение

Вашe имя:  [Войти]
Ваш адрес (e-mail):На Королевстве все адреса защищаются от спам-роботов
контрольный вопрос:
"Мы с тобой одной крови — ты и я!". Чьи это заветные слова?
в качестве ответа на вопрос или загадку следует давать только одно слово в именительном падеже и именно в такой форме, как оно используется в оригинале.
Надоело отвечать на странные вопросы? Зарегистрируйтесь на сайте.

Оценка содержания
 
Содержит полезные и(или) интересные сведения
 
Ничего особенно нового и интересного
 
Написано неверно (обязательно укажите почему)


Оценка стиля изложения
 
Все понятно, материал читается легко
 
Есть неясности в изложении
 
Непонятно написано, трудно читается

Текст:
Жирный шрифт  Наклонный шрифт  Подчеркнутый шрифт  Выравнивание по центру  Список  Заголовок  Разделительная линия  Код  Маленький шрифт  Крупный шрифт  Цитирование блока текста  Строчное цитирование
  • вопрос Круглого стола № XXX

  • вопрос № YYY в тесте № XXX Рыцарской Квинтаны

  • сообщение № YYY в теме № XXX Базарной площади
  • обсуждение темы № YYY Базарной площади
  •  
     Правила оформления сообщений на Королевстве
      
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
    Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования