Возможно ли скопировать содержимое XML из WebViewer
-
- Сообщения: 338
- Зарегистрирован: 11 сен 2017, 13:42
- Откуда: Санкт-Петербург
Re: Возможно ли скопировать содержимое XML из WebViewer
да просто все.
1) из хмл простыни удалить все символы переноса строк
2) полученный текст разбить на строки преобразованием последнего завершающего тега каждой строки в символ перевода каретки. Далее использовать GetValue для парсинга строк последовательно
3) в каждой строке или найти кастом функцией содержимое тега или опять же все пары тегов (завершающий + новый начинающий) преобразовать в символ перевода каретки, а первый начинающий и последний завершающий тег заменить на пусто. Далее использовать GetValue для извлечения значений
1) из хмл простыни удалить все символы переноса строк
2) полученный текст разбить на строки преобразованием последнего завершающего тега каждой строки в символ перевода каретки. Далее использовать GetValue для парсинга строк последовательно
3) в каждой строке или найти кастом функцией содержимое тега или опять же все пары тегов (завершающий + новый начинающий) преобразовать в символ перевода каретки, а первый начинающий и последний завершающий тег заменить на пусто. Далее использовать GetValue для извлечения значений
- Nicolai Kant
- Сообщения: 21
- Зарегистрирован: 19 авг 2020, 19:16
Re: Возможно ли скопировать содержимое XML из WebViewer
Я тоже использовал этот подход, но он мне не очень понравился. Основной проблемой было содержимое тега с возвратами каретки.
Еще одна проблема с парсингом XML как текста - это фильтрование <![CDATA[ тегов и специальных символов в XML
Еще одна проблема с парсингом XML как текста - это фильтрование <![CDATA[ тегов и специальных символов в XML
-
- Сообщения: 338
- Зарегистрирован: 11 сен 2017, 13:42
- Откуда: Санкт-Петербург
Re: Возможно ли скопировать содержимое XML из WebViewer
да, но в курсе валют нет перевода каретки и CDATA, поэтому в данном случае все очень просто
вообще странно, что формат XML до сих пор используется без альтернативного JSON в продвинутых API
вообще странно, что формат XML до сих пор используется без альтернативного JSON в продвинутых API
- Nicolai Kant
- Сообщения: 21
- Зарегистрирован: 19 авг 2020, 19:16
Re: Возможно ли скопировать содержимое XML из WebViewer
Согласен, особенно с простой структурой XML.да, но в курсе валют нет перевода каретки и CDATA, поэтому в данном случае все очень просто
У меня обратный опыт - я вижу JSON используется пойти везде и некоторые сервисы предоставляют JSON как единственную опцию, правда я не работаю с Российскими операторами.вообще странно, что формат XML до сих пор используется без альтернативного JSON в продвинутых API
Простой пример - FileMaker Data/Admin API, использует только JSON
-
- Сообщения: 31
- Зарегистрирован: 12 сен 2017, 04:14
Re: Возможно ли скопировать содержимое XML из WebViewer
Коллеги.
Как обещал выложил готовое решение данной задачи.
В виде полностью открытого файла FM и пояснений в Word-е. Все пришлось послать на Яндекс диск. Раздел Готовые решения не пропустил файл чуть менее 3 Мб.
Ссылка ниже и в разделе Готовые решения.
https://disk.yandex.ru/d/KJQ1-kQ-A_BSqw
Как обещал выложил готовое решение данной задачи.
В виде полностью открытого файла FM и пояснений в Word-е. Все пришлось послать на Яндекс диск. Раздел Готовые решения не пропустил файл чуть менее 3 Мб.
Ссылка ниже и в разделе Готовые решения.
https://disk.yandex.ru/d/KJQ1-kQ-A_BSqw
Александр Клочков
apklotchkov@yahoo.com
apklotchkov@yahoo.com
-
- Сообщения: 106
- Зарегистрирован: 21 сен 2017, 18:48
- Откуда: Минск
Re: Возможно ли скопировать содержимое XML из WebViewer
В копилку вот XSLT transformation для котировок ЦБРФ за текущий день с ISO кодом
http://www.cbr.ru/scripts/XML_daily.asp
на сайте можно посмотреть как за любой день выгрузить. Сохраните как текстовый файл CBRratesDailyISO2fm.xslt и укажите для импорта XML.
http://www.cbr.ru/scripts/XML_daily.asp
на сайте можно посмотреть как за любой день выгрузить. Сохраните как текстовый файл CBRratesDailyISO2fm.xslt и укажите для импорта XML.
Код: Выделить всё
<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Foreign Currency Market Lib ISO http://www.cbr.ru/scripts/XML_daily.asp -->
<xsl:template match="/">
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<METADATA>
<FIELD NAME="Date" TYPE="DATE" />
<FIELD NAME="ID" TYPE="TEXT" />
<FIELD NAME="NumCode" TYPE="TEXT" />
<FIELD NAME="CharCode" TYPE="TEXT" />
<FIELD NAME="Nominal" TYPE="NUMBER" />
<FIELD NAME="Name" TYPE="TEXT" />
<FIELD NAME="Value" TYPE="NUMBER" />
</METADATA>
<RESULTSET FOUND="15">
<xsl:for-each select="ValCurs/Valute" >
<xsl:variable name="c">
<xsl:value-of select="position()" />
</xsl:variable>
<ROW MODID="$c" RECORDID="$c" >
<COL>
<DATA>
<xsl:value-of select="../..//@Date" />
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="..//@ID" />
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="./NumCode" />
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="./CharCode" />
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="./Nominal" />
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="./Name" />
</DATA>
</COL>
<COL>
<DATA>
<xsl:value-of select="./Value" />
</DATA>
</COL>
</ROW>
</xsl:for-each>
</RESULTSET>
</FMPXMLRESULT>
</xsl:template>
</xsl:stylesheet>
Re: Возможно ли скопировать содержимое XML из WebViewer
Доброго.
У меня у одно перестал работать XSL ?
25 числа еще благополучно курс загружался в базу , теперь выдает ошибку. Причем как с моим XSL файлом так и скопированным в этой ветке. Проверил на двух компьютерах ( на интеле и на М1 ) . также функция BaseElements BE_XSLT_ApplyInMemory ( $rbk ; $xslt ) возвращает Null
У меня у одно перестал работать XSL ?
25 числа еще благополучно курс загружался в базу , теперь выдает ошибку. Причем как с моим XSL файлом так и скопированным в этой ветке. Проверил на двух компьютерах ( на интеле и на М1 ) . также функция BaseElements BE_XSLT_ApplyInMemory ( $rbk ; $xslt ) возвращает Null
- Вложения
-
- Снимок экрана 2022-02-26 в 09.35.21.png (79.19 КБ) 20091 просмотр
-
- Сообщения: 31
- Зарегистрирован: 12 сен 2017, 04:14
Re: Возможно ли скопировать содержимое XML из WebViewer
Если данные тянуться с ЦБ РФ то по понедельникам их нет. Завтра будут. Нужно использовать данные предыдущей субботы.
Александр Клочков
apklotchkov@yahoo.com
apklotchkov@yahoo.com
Re: Возможно ли скопировать содержимое XML из WebViewer
Любую дату ставлю .. не работает..
-
- Сообщения: 31
- Зарегистрирован: 12 сен 2017, 04:14
Re: Возможно ли скопировать содержимое XML из WebViewer
Ничего не могу сказать по XSL.
Я закачиваю курсы с ЦБ РФ через XML.
Сегодня все закачалось нормально.
Я закачиваю курсы с ЦБ РФ через XML.
Сегодня все закачалось нормально.
Александр Клочков
apklotchkov@yahoo.com
apklotchkov@yahoo.com