|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Проблема с чтением xml
Не сочтите кощунством, пиши на самом деле на Lazarus'е, уже решение где мог спрашивал.
Код следующий: Код:
procedure TForm1.MenuItem4Click(Sender: TObject); var s:string; PassNode: TDOMNode; Doc: TXMLDocument; begin ReadXMLFile(Doc, '\\server\types\type_1\all_files\file_00529759\file529759.xml'); PassNode := Doc.DocumentElement.FindNode('number'); s:=UTF8Encode(PassNode.TextContent); Doc.Free; end; Сам смог найти только тупейший метод: 1) скопировать хмлку; 2) сохранить в кодировке UTF8; 3) прочитать как текст. Второй пункт не знаю как автоматизировать, с остальным уже разобрался. В принципе "тупейший метод" тоже подходит, делать придется всего раз 40 в день и хмлка сама по себе не большая, строк в 200, сетка даже не заметит, также как и сервак с котого я буду этот файл забирать. Последний раз редактировалось lmikle, 30.12.2011 в 03:16. |
#2
|
|||
|
|||
1. проверить, что в xml правильный заголовок с правильной кодировкой.
2. попробовать так: PassNode := Doc.DocumentElement.FindNode(WideString('number')) ; Если ничего не поможет, выкладывай xml, будет время - гляну. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
VinSS (30.12.2011)
|
#3
|
|||
|
|||
Не получилось
Обрезал xml по максимому, в нем просто несколько страниц и кучи данных на них. <?xml version="1.0" encoding="unicode"?> <batch version="1.0" hasBlockCoordinates="true"> <page pageNumber="1" pageTemplate="v1-2"> <block blockName="SURNAME" l="110" t="521" r="1193" b="607">ИВАНОВ</block> <block blockName="NAME" l="110" t="609" r="1195" b="695">ИВАН</block> <block blockName="PTRNMIC_NAME" l="111" t="696" r="1196" b="782">ИВАНОВИЧ</block> <block blockName="DOB" l="282" t="793" r="865" b="873">01.01.1950</block> <block blockName="CITIZENSHIP" l="0" t="0" r="0" b="0">RU</block> </page> </batch> Спасибо за помощь заранее |