On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 201
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 05.07.17 18:55. Заголовок: XML


Это мне КАЖЕТСЯ или все таки в разделе Форум » [x]Harbour
была еще с утра тема про XML, а только-что зашел - не увидел
или у меня галики обосновались

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 14 [только новые]


администратор




Пост N: 6485
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.07.17 21:35. Заголовок: nick_mi Была , я уд..


nick_mi
Была , я удалил так как разобрался...надеюсь с каличным XML
Если есть интерес , выложу сам XML. До этого тоже разбирал но понятный по разбору.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1567
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 05.07.17 22:34. Заголовок: Dima пишет Если есть..


Dima пишет
 цитата:
Если есть интерес , выложу сам XML. До этого тоже разбирал но понятный по разбору.


Хотелось бы увидеть, т.к. с простой структурой понятно, а вот с "мусорной" ?
Там кроме данных, описания разные и т.д., но нет описания самой структуры xml.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6486
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.07.17 23:03. Заголовок: SergKis Привет.Вот ..


SergKis
Привет.Вот оно.
https://cloud.mail.ru/public/73uW/qyCCsA95g

Пипец...


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1568
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.07.17 07:34. Заголовок: Dima Спасибо, скача..


Dima
Спасибо, скачал, но гляну позже, дымлю по своей lib и прогам, на соответствие new hmg

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6487
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.07.17 08:11. Заголовок: SergKis Разрулить п..


SergKis
Разрулить попробовал так
Скрытый текст



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 202
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 06.07.17 08:19. Заголовок: Ну, слава Богу я не ..


Ну, слава Богу я не глючный.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6488
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.07.17 12:22. Заголовок: SergKis пишет: но ..


SergKis пишет:

 цитата:
Там кроме данных, описания разные и т.д., но нет описания самой структуры xml.


Описание есть. Собственно это данные из проги Пан агент.


SergKis пишет:

 цитата:
но гляну позже


Хорошо , подожду.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1569
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.07.17 21:56. Заголовок: Dima Ты читаешь xml..


Dima
Ты читаешь xml определенной структуры по именам узлов, я думал что вариант
типа ini -> Hash, т.е. секции и значения.
так и у меня работает, более сложный xml (больше узлов) и некоторые не нужны.
И я задаю узлы (с проверкой обязательные и нет, наличие обязательных тегов в узлах).
Тут уже нет большой разницы в array\hash\dbf отправлять данные.
Я привязался к структуре dbf (рабочие поля тоже вставляю, таких тегов нет) Скрытый текст

сразу пишу в dbf с нужными типами полей. Потом проверяю на ошибки и или в
потокол-базу ошибочных, либо в базу для обработки.

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6489
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.07.17 13:11. Заголовок: SergKis Сергей я же..


SergKis
Сергей я же не про это.
Когда данные таблицы в частности 1 запись живет в одной строке , то разобрать просто.
Например это
 
<TABLE GUID="0738E61B-F06F-464A-8483-4249E0254819">
<ITEM GUID="00000002-0000-0000-0000-000057920823" DocID="00000001-0000-0000-0000-000057920813" A01="0000100F-0002-34AC-1989-823456778888" A02="" A03="00000001-ABCD-CCCC-7777-888888888888" A04="4" A05="6" A06="24" A015="null" />
<ITEM GUID="00000002-0000-0000-0000-000057920829" DocID="00000001-0000-0000-0000-000057920813" A01="00001446-0002-34AC-1989-823456778888" A02="" A03="00000002-ABCD-CCCC-7777-888888888888" A04="9" A05="55.2" A06="496.8" A015="null" />
<ITEM GUID="00000002-0000-0000-0000-00005792082E" DocID="00000001-0000-0000-0000-000057920813" A01="000013E9-0002-34AC-1989-823456778888" A02="" A03="00000002-ABCD-CCCC-7777-888888888888" A04="22" A05="100" A06="2200" A015="null" />
<ITEM GUID="00000002-0000-0000-0000-000057920834" DocID="00000001-0000-0000-0000-000057920813" A01="000016E0-0002-34AC-1989-823456778888" A02="" A03="00000001-ABCD-CCCC-7777-888888888888" A04="33" A05="8.9" A06="293.7" A015="null" />
<ITEM GUID="00000002-0000-0000-0000-000057920842" DocID="00000001-0000-0000-0000-000057920813" A01="00001E64-0002-34AC-1989-823456778888" A02="" A03="00000002-ABCD-CCCC-7777-888888888888" A04="5" A05="109.7" A06="548.5" A015="null" />
</TABLE>


А когда данные 1-й строки живут в 4 строках , тут нужно велосипед изобретать.
Например.
 
<dict>
<key>coeff</key>
<string>1.0</string>
<key>discountPercent</key>
<string>0.0</string>
<key>discountSum</key>
<string>0.0</string>
<key>goodID</key>
<string>9409</string>
<key>modifiedDate</key>
<string>03.07.2017 14:14:56</string>
<key>originalPrice</key>
<string>9.4</string>
<key>price</key>
<string>9.4</string>
<key>properties</key>
<array>
</array>
<key>quantity</key>
<string>5.0</string>
<key>sort</key>
<string>0</string>
<key>sum</key>
<string>47.0</string>
<key>unit</key>
<string>Шт.</string>
</dict>

То есть мне надо к примеру поймать goodID из key и после читать следующий string и вытаскивать что в нем живет.
А там еще и кака живет :)
 
<key>properties</key>
<array>
</array>



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1573
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.07.17 15:18. Заголовок: Dima пишет А когда д..


Dima пишет
 цитата:
А когда данные 1-й строки живут в 4 строках , тут нужно велосипед изобретать.


Так и у меня все живет в разных узлах и в одной строке один тэг.
У меня весь вопрос когда делать APPEND BLANK new строки и потом по мере нахождения тега из xml в массиве структуры (см.выше) запись в поле.
В итоге получается в первой записи заполнено данные из заголовков док-та и первая строка заказа материала\товара,
В след. строках док. данных из заголовка док. нет, есть заполненные данные по строкам заказа материала\товара.
Потом разделить на запись в реестр и в таблицу документа строк - это не сложно.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1574
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.07.17 15:26. Заголовок: PS укороченный xml ..


PS
укороченный xml Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6490
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.07.17 15:41. Заголовок: SergKis Да у тебя н..


SergKis
Да у тебя нормальный XML и разбирать не сложно. Ты меня видать не понял.
Глянь доку если хош
Закинул к тебе , в свою папку
Раздел "orders.plist"

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 1575
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.07.17 17:23. Заголовок: Dima пишет Ты меня в..


Dima пишет
 цитата:
Ты меня видать не понял.


Я понял, в целом, правильно.  
Разница наших вариантов
- у меня теги названы нормально и это имя поля в dbf
- у тебя название тега спрятано в <key>...</key>, а значение в <string>...</string>
Ты преобразуешь в hash. Все нормально.
Но и твой вариант гонится в dbf (см. "фактические продажи")

// 1 tag | 2 struct | 3 note
{ ;
{'goodID' , {'GoodID' , 'C', 5, 0 }, 'GoodID' }, ;
{'posID' , {'PosID' , 'C', 5, 0 }, 'PosID' }, ;
{'date' , {'Date' , 'D', 8, 0 }, 'Date' }, ;
{'quantity', {'Quantity', 'N', 15, 3 }, 'Quntity'}, ;
{'sum' , {'Sum' , 'N', 15, 2 }, 'Summa' } ;
}

обходим узлы и названиям из <key>...</key> ищем по 1-му элементу,
нашли -> FieldName и FieldType берем из 2-го элемента, <string>...</string> идет
в FieldValue с преобр. типа и скидываем в поле.
APPEND BLANK можно делать по <dict> и все прекрасно сядет в dbf
recno 1: GoodID := '00009'
recno 2: , PosID := '00025'
recno 3: , Date := 01.01.2013, Quantity := 10.000, Sum := 300.00
recno 4: , Date := 02.01.2013, Quantity := 20.000, Sum := 600.00
...

Я не говорю, что это лучше или хуже, просто ты пошел одним путем, я другим.




Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 6491
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 08.07.17 17:59. Заголовок: SergKis пишет: у т..


SergKis пишет:

 цитата:
у тебя название тега спрятано в <key>...</key>, а значение в <string>...</string>


Это не у меня а у них
Я бы если и делал свой XML , то со структурой как у тебя , понятной глазу и обработке.
Остановлюсь пока на своем варианте , который выложил выше. Работает однако.
Не люблю я эти XML на генетическом уровне

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 698
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет