Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Разборка" xml-файла 
:(
    Опции темы
Dysena
Дата 11.1.2013, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.1.2013

Репутация: нет
Всего: нет



Я новичок по программированию PL/SQL. Столкнулась со следующей проблемкой: 

Реально ли "разобрать" произвольный xml-файл на параметры и объединить их в одну строку. 

Например, к нам поступил файл: 
Код
<params><PHONE>222</PHONE><MPHONE>777</MPHONE></params>


На выходе должна быть строка или текст следующего вида: 
'phone=222&mphone=777'.
PM MAIL   Вверх
diadiavova
Дата 11.1.2013, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 22
Всего: 142




M
diadiavova
Перенесено из XML



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Zloxa
Дата 11.1.2013, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 2
Всего: 161



Для решения задачи в данной подстановкe более подходит xslt нежели pl/sql. (LSD, перенеси плиз тему обратно к дядевове  smile ).

Выполнить xsl преобразование из pl/sql можно.



Это сообщение отредактировал(а) Zloxa - 11.1.2013, 15:56


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
LSD
Дата 11.1.2013, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 8
Всего: 538




M
LSD
Перенесено из Oracle



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Zloxa
Дата 11.1.2013, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 2
Всего: 161



Код

Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 
Connected as zloxa@ORCL01
 
SQL> set define off
SQL> select extractValue(xmltype('<params><PHONE>222</PHONE><MPHONE>777</MPHONE><elem1>1</elem1></params>')
  2                        .transform(xmltype('<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3                                               <xsl:output method="text"/>
  4                                               <xsl:template match="/">
  5                                                 <xsl:for-each select="/*/*">
  6                                                   <xsl:value-of select="name()"/>=<xsl:value-of select="text()"/>
  7                                                   <xsl:choose>
  8                                                     <xsl:when test="position() != last()">&amp;amp;</xsl:when>
  9                                                   </xsl:choose>
 10                                                 </xsl:for-each>
 11                                               </xsl:template>
 12                                             </xsl:stylesheet>
 13                                             '
 14                                           )
 15                                   )
 16                         ,'text()') result
 17  from dual
 18  /
 
RESULT
--------------------------------------------------------------------------------
PHONE=222&MPHONE=777&elem1=1  


Это сообщение отредактировал(а) Zloxa - 11.1.2013, 17:28


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

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

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0979 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.