powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Разбор XML
14 сообщений из 39, страница 2 из 2
Разбор XML
    #38018491
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и курсор qweasd пустой получается при выполнении цикла:

вот поля курсора

create cursor qweasd ( ;
fam C(30), ;
im C(30), ;
ot C(30))

и pacient аналогичный. Почему же не заносятся в курсор qweasd данные?
...
Рейтинг: 0 / 0
Разбор XML
    #38018542
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991tanglir, что делается в этой строке и что за свойство должно быть вы не можете сказать? Если бы я имел опыт работы с xml то было легче наверное, но я первый раз столкнулся с этим. Тем более я новичек в фоксе, знаю не многоПредставьте себе, я тоже с этим конкретным свойством столкнулся только сегодня. И ранее не знал о его существовании.
...
Рейтинг: 0 / 0
Разбор XML
    #38018544
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991, курсор надо делать со всеми полями, присутствующими в записи о пациенте (от ид и до адреса). Потом при необходимости выберете нужные.
И свойство это - не "текст".
...
Рейтинг: 0 / 0
Разбор XML
    #38018557
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, а какое свойство должно быть?
...
Рейтинг: 0 / 0
Разбор XML
    #38018608
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991, поставьте breakpoint на этой строке
Код: sql
1.
2.
3.
    m.xmldata='<?xml version = "1.0" encoding="Windows-1251" standalone="yes"?><vfpdata>';
      +loXMLNodes2.Item(i2-1).свойство;
      +'</vfpdata>'

Запустите, дождитесь остановки.
Перейдите в командное окно
Наберите там loXMLNodes2.Item(i2-1)
Нажмите ".", высветится список свойств и методов текущего item-а.
Медитируйте над списком до просветления.
...
Рейтинг: 0 / 0
Разбор XML
    #38018621
Grin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991вот я так пишу не знаю правильно или нет:

CREATE CURSOR test_xml ( ;
fam C(30), ;
im C(30), ;
ot C(30))

loXML = CREATEOBJECT("msxml2.DomDocument.3.0")
loXML.ASYNC=.F.
loXML.load("D:\2.XML")

? loXML.parseError.errorCode
? loXML.parseError.reason
? loXML.getElementsByTagName("zl_list/zap/pacient").item(0).text
fam=loXML.getElementsByTagName("zl_list/zap/pacient/fam").item(0).text
im=loXML.getElementsByTagName("zl_list/zap/pacient/im").item(0).text
ot=loXML.getElementsByTagName("zl_list/zap/pacient/ot").item(0).text

RELEASE loXML
SELECT test_xml
brow


2Дима1991
Так а где в вашем коде запись переменных fam, im, ot в курсор test_xml ???

читайте букварь по командам
append
replace
gather memvar
...
Рейтинг: 0 / 0
Разбор XML
    #38018647
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемый tanglir, я новичек в фокспро я даже Breakpoint не знаю как использовать, чтобы остановку сделать. в жизни писал 3-4 простых программ на фоксе таких как вывод в грид и создание отчетов. изначально попросил помощи т.к. работа с xml для меня дремучий лес.
...
Рейтинг: 0 / 0
Разбор XML
    #38018664
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, selectnodes свойство может?
...
Рейтинг: 0 / 0
Разбор XML
    #38018717
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
УФ наконец-то
...
Рейтинг: 0 / 0
Разбор XML
    #38018718
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вроде выводится. Спасибо.
...
Рейтинг: 0 / 0
Разбор XML
    #38018747
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
такой вопрос, если нужно сделать такое же для случая когда так:

<zl_list>
<zap>
<sluch>
<usl>

<idstrax>_3M00YI7FA</idstrax>
<idserv>0</idserv>

</usl>
</sluch>
</zap>
</zl_list>

я могу написать так? Или уже не прокатит?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
*Create Cursor test_xml (id_pac Int,id_usl Varchar(254))
USE IN SELECT('qweasd')
USE IN SELECT('pacient')

loXML = Createobject("msxml2.DomDocument.3.0")
loXML.Async=.F.
loXML.Load("D:\tmp\Новая папка\qwe.XML")

create cursor qweasd (ну типы полей сами зададите, вам лучше знать, что там должно быть)
create cursor pacient (с той же структурой)


loXMLNodes=loXML.getElementsByTagName("zap/sluch")
loNodes = loXMLNodes.nextNode
For i1=1 To loXMLNodes.Length
  loXMLNodes2=loNodes.getElementsByTagName("usl")
  For i2=1 To loXMLNodes2.Length
    m.xmldata='<?xml version = "1.0" encoding="Windows-1251" standalone="yes"?><vfpdata>';
      +loXMLNodes2.Item(i2-1).свойство;
      +'</vfpdata>'
/*а какое свойство - ну не всё ж мне писать, покумекайте сами, это довольно очевидно :)*/
    Xmltocursor(m.xmldata,'qweasd',8192)
    Insert Into pacient SELECT * FROM qweasd
    ZAP IN qweasd
    loNodes2 = loXMLNodes2.nextNode
  Endf
  loNodes = loXMLNodes.nextNode
Endf

Release loXML
Select pacient
Brow
...
Рейтинг: 0 / 0
Разбор XML
    #38018785
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
можно ли в одном цикле сделать это все? для обеих случаев?
...
Рейтинг: 0 / 0
Разбор XML
    #38019298
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991,

у вас же в usl и в pacient разные наборы полей... для услуг надо свой курсор делать, но остальной код (кроме выбора тегов и сброса данных в курсор) в принципе останется тем же.
...
Рейтинг: 0 / 0
Разбор XML
    #38019389
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir, Понятно.. Буду знать. Я так и сделал, создал еще один курсор для услуг. Спасибо вам.
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Разбор XML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]