Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Каким образом извлечь XML из Varchar2 поля Таблицы / 25 сообщений из 35, страница 1 из 2
12.04.2013, 11:36:57
    #38223175
mubat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
Доброе время суток.

Есть таблица, у которой есть столбец типа VARCHAR2. В Нем хранится XML данные вида:
Код: xml
1.
2.
3.
4.
5.
6.
<?xml version="1.0" encoding="UTF-8"?>
<Request>
<EquipmentId>9134862155013443</EquipmentId>
<EquipmentType></EquipmentType>
<EquipmentName>E#117</EquipmentName>
</Request>



C помощью java нужно получить значение ячейки. Но проблема в том, что результат имеет вид: "9134862155013443E#117". Но, нужен именно XML, чтобы проверить значение полей (в том числе и пустых).
Каким образом можно получить XML?
...
Рейтинг: 0 / 0
12.04.2013, 11:42:13
    #38223192
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
mubat2,

Прочитал три раза - ничего не понял .
...
Рейтинг: 0 / 0
12.04.2013, 11:44:18
    #38223196
Vint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
AmKad,
ну скорее всего у него в базе clob, а он получил указатель и теперь думает что же с ним делать))
...
Рейтинг: 0 / 0
12.04.2013, 11:45:25
    #38223198
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
mubat2,

авторКаким образом можно получить XML?

сами себе ответили
авторЕсть таблица, у которой есть столбец типа VARCHAR2. В Нем хранится XML данные вида:
...
Рейтинг: 0 / 0
12.04.2013, 11:52:47
    #38223218
mubat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
AmKad,
В java происходит подключение к БД и выполняется запрос, который возвращает значение ячейки в виде строки, "слепленной" из значений тегов. Но нужно получить именно XML в том виде, в котором хранится в БД.

Код Java:
Код: java
1.
2.
List<String> result = new JdbcTemplate(dataSource).queryForList(QUERY, String.class);
System.out.println(result.toString());



Возвращаемое значение:
Код: java
1.
List ["9134862155013443E#117"]

.
...
Рейтинг: 0 / 0
12.04.2013, 11:54:07
    #38223222
mubat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
123ййmubat2,

авторКаким образом можно получить XML?

сами себе ответили
авторЕсть таблица, у которой есть столбец типа VARCHAR2. В Нем хранится XML данные вида:

Нужно после выполнения запроса получить
Код: xml
1.
2.
3.
4.
5.
6.
<?xml version="1.0" encoding="UTF-8"?>
<Request>
<EquipmentId>9134862155013443</EquipmentId>
<EquipmentType></EquipmentType>
<EquipmentName>E#117</EquipmentName>
</Request>


но я получаю
Код: java
1.
List ["9134862155013443E#117"]
...
Рейтинг: 0 / 0
12.04.2013, 12:01:01
    #38223236
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
mubat2,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
select xmltype('<?xml version="1.0" encoding="UTF-8"?>
<Request>
<EquipmentId>9134862155013443</EquipmentId>
<EquipmentType></EquipmentType>
<EquipmentName>E#117</EquipmentName>
</Request>') xml
from dual;
...
Рейтинг: 0 / 0
12.04.2013, 12:02:02
    #38223238
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
mubat2,
так ковыряйте авторВ java происходит подключение к БД и выполняется запрос
причем здесь oracle ?
...
Рейтинг: 0 / 0
12.04.2013, 12:06:36
    #38223246
DВА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
А select <столбец типа VARCHAR2> from <таблица>
жава делать не умеет уже?
...
Рейтинг: 0 / 0
12.04.2013, 12:08:54
    #38223253
mubat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
DВАА select <столбец типа VARCHAR2> from <таблица>
жава делать не умеет уже?

Мои знания java + БД ограничиваются лишь executeQuery() :'(
Пожалуйста по-подробнее опишите что Вы имеете ввиду.
...
Рейтинг: 0 / 0
12.04.2013, 12:27:45
    #38223283
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
mubat2столбец типа VARCHAR2докажи
...
Рейтинг: 0 / 0
12.04.2013, 12:28:04
    #38223285
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
mubat2Мои знания java + БД ограничиваются лишь executeQuery() :'(Похоже, вы слишком оптимистично оцениваете свои знания java и БД. Помедитируйте над тем, что именно вы передаете в стандартный вывод.
Hint - list это объект, реализующий список

Модератор: Тема перенесена из форума "Oracle".
...
Рейтинг: 0 / 0
12.04.2013, 12:30:54
    #38223287
DВА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
mubat2DВАА select <столбец типа VARCHAR2> from <таблица>
жава делать не умеет уже?

Мои знания java + БД ограничиваются лишь executeQuery() :'(
Пожалуйста по-подробнее опишите что Вы имеете ввиду.

лучше вы опишите, что вы имеете в QUERY
...
Рейтинг: 0 / 0
12.04.2013, 12:33:11
    #38223296
mubat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
PL99, совершенно согласен.

-2-mubat2столбец типа VARCHAR2докажи
Код: plsql
1.
2.
3.
4.
SELECT *
FROM dba_tab_columns
WHERE table_name = 'Name'
and column_name = 'MESSAGE';



Результат:
TABLE_NAME = Name, COLUMN_NAME = MESSAGE, DATA_TYPE = VARCHAR2
...
Рейтинг: 0 / 0
12.04.2013, 12:55:44
    #38223340
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
mubat2,
XML как и HTML это строка из букв.
Получи из БД обычную строку. Если она там есть.
Если нет, то запиши туда, а потом получи.
...
Рейтинг: 0 / 0
12.04.2013, 13:45:32
    #38223420
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
mubat2Код Java:
Код: java
1.
2.
List<String> result = new JdbcTemplate(dataSource).queryForList(QUERY, String.class);
System.out.println(result.toString());



У тебя класс JdbcTemplate реализует интерфейс List, т.е это не org.springframework.jdbc.core.JdbcTemplate , а какой-то другой?
...
Рейтинг: 0 / 0
12.04.2013, 14:07:34
    #38223455
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
Denis PopovУ тебя класс JdbcTemplate реализует интерфейс List, т.е это не org.springframework.jdbc.core.JdbcTemplate , а какой-то другой?
queryForList() совсем не заметен?
...
Рейтинг: 0 / 0
12.04.2013, 14:21:06
    #38223486
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
On 12.04.2013 15:07, Blazkowicz wrote:

> queryForList() совсем не заметен?

Извиняюсь, совсем не заметил. Действительно проще тогда не разбирать Xml запросом, а вернуть строку как есть, и уже в
Java превратить ее в xml.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.04.2013, 16:03:23
    #38223713
mubat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
Denis PopovOn 12.04.2013 15:07, Blazkowicz wrote:

> queryForList() совсем не заметен?

Извиняюсь, совсем не заметил. Действительно проще тогда не разбирать Xml запросом, а вернуть строку как есть, и уже в
Java превратить ее в xml.


Проблема в том, что в java приходит строка, у которой xml теги опущены и присутствует только их внутренности.
Должно прийти строка вида:
Код: java
1.
<?xml version="1.0" encoding="UTF-8"?><Request><EquipmentId>9134862155013443</EquipmentId><EquipmentType></EquipmentType><EquipmentName>E#117</EquipmentName></Request>


но приходит:
Код: java
1.
9134862155013443E#117
...
Рейтинг: 0 / 0
12.04.2013, 16:16:40
    #38223739
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
On 12.04.2013 17:03, mubat2 wrote:

> Проблема в том, что в java приходит строка, у которой xml теги опущены и присутствует только их внутренности.

А как сам запрос выглядит, который передается в queryForist()?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.04.2013, 16:25:18
    #38223759
mubat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
Denis PopovOn 12.04.2013 17:03, mubat2 wrote:

> Проблема в том, что в java приходит строка, у которой xml теги опущены и присутствует только их внутренности.

А как сам запрос выглядит, который передается в queryForist()?


Таблица имеет вид:
Код: plsql
1.
2.
3.
CREATE TABLE CUSTOMER_TBL (
NAME VARCHAR2(100),
MESSAGE VARCHAR2(4000));



В столбце MESSAGE как раз и хранится xml

запрос стандартный
Код: plsql
1.
Select MESSAGE  from osa_message_storage;



Код: java
1.
List<String> result = new JdbcTemplate(dataSource).queryForList(QUERY, String.class);
...
Рейтинг: 0 / 0
12.04.2013, 16:37:16
    #38223776
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
mubat2,

osa_message_storage
?
...
Рейтинг: 0 / 0
12.04.2013, 16:54:33
    #38223815
mubat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
Petro123mubat2,

osa_message_storage
?

ой, ошибся.
Запрос имеет вид:
Код: plsql
1.
Select MESSAGE  from CUSTOMER_TBL;
...
Рейтинг: 0 / 0
12.04.2013, 16:56:21
    #38223820
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
mubat2запрос стандартный
да не может такого быть:
- перенаправь запрос на 1 колонку.
Или запиши туда свой текст в конце концов.
И приведи полный КОРОТКИЙ код
...
Рейтинг: 0 / 0
12.04.2013, 17:11:54
    #38223857
mubat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каким образом извлечь XML из Varchar2 поля Таблицы
Попробовал выполнить запрос в SQLDeveloper. Он вернул то, что нужно (значение ячейки с тегами):
Код: plsql
1.
<?xml version="1.0" encoding="UTF-8"?><Request><EquipmentId>9134862155013443</EquipmentId><EquipmentType></EquipmentType><EquipmentName>E#117</EquipmentName></Request>



В программе было написано
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
BasicDataSource dataSource = new BasicDataSource();
        dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
        dataSource.setUrl("jdbc:oracle:thin:@" + DB_SERVER + ":" + DB_PORT + ":" + DB_SID);
        dataSource.setUsername(DB_USER);
        dataSource.setPassword(DB_PASSWORD);
        dataSource.setMaxActive(10);
        dataSource.setAccessToUnderlyingConnectionAllowed(true);
List<String> result = new JdbcTemplate(dataSource).queryForList("Select MESSAGE  from CUSTOMER_TBL", String.class);
System.out.println(result.toString());



Petro123- перенаправь запрос на 1 колонку.
Или запиши туда свой текст в конце концов.для чего перенаправлять, если XML лежит во второй? В первой только имя.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Каким образом извлечь XML из Varchar2 поля Таблицы / 25 сообщений из 35, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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