powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / помогите отредактировать XML документ в SQL2008
3 сообщений из 3, страница 1 из 1
помогите отредактировать XML документ в SQL2008
    #38648042
SergeyABelov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, сообщество.

Работу с XML посредством XQuery только осваиваю, поэтому не сетуйте на уровень вопроса. Провел часа 4 в гугле, но пока не разобрался как решить именно такую задачу.

на входе в SQL процедуру переменная varchar(max), которая в себе содержит xml документ следующей структуры:
Код: xml
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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<?xml version="1.0" encoding="utf-8"?>
<jm:jupiterML 
  xmlns:jrf="Text1" 
  xmlns:jdt="Text2" 
  xmlns:jru="Text3" 
  xmlns:jpv="Text4" 
  xmlns:jsc="Text5" 
  xmlns:jrev="Text6" 
  xmlns:jre="Text7" 
  xmlns:jrs="Text8" 
  xmlns:jm="Text9" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="Text9 File.xsd">
  <jm:mHeader
    Date="2014-03-19T06:34:29Z">
    <jm:version>0.13</jm:version>
  </jm:mHeader>
  <jm:mBody>
    <jm:Level1>
      <jm:Level2>
        <jru:Level3 
          book="book1"
          author="author1"
          year="2014">
          <jru:Level4
            color="BLC">
          </jru:Level4>
        </jru:Level3>
      </jm:Level2>
      <jm:Level2>
        <jru:Level3
          book="book2"
          author="author2" 
          year="2013">
          <jru:Level4 
            color="GRN">
          </jru:Level4>
        </jru:Level3>
      </jm:Level2>
    </jm:Level1>
  </jm:mBody>
</jm:jupiterML>


мне надо удалить Level2 элементы по условию:

параметр book из элемента Level3 не найден в результате запроса из БД

Код: sql
1.
2.
select 
from dbo.tbl_books



аля left join по условию book_name is null

и попутно еще один вопрос - куда пропадает первая строка документа после конвертации переменной в xml?

Заранее спасибо за ответы.
...
Рейтинг: 0 / 0
помогите отредактировать XML документ в SQL2008
    #38648044
SergeyABelov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
усп,
Код: sql
1.
2.
select book_name
from dbo.tbl_books
...
Рейтинг: 0 / 0
помогите отредактировать XML документ в SQL2008
    #38648111
SergeyABelov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
немного таки разобрался :)
удалить родительский элемент по значению параметра чайлда получилось. даже namespace прикрутил
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
declare
	@book varchar(50)

select
	@book = 'book1'

set @xml.modify('
	declare namespace jm="Text9";
	declare namespace jru="Text3";
	delete /jm:jupiterML/jm:mBody/jm:Level1/jm:Level2[jru:Level3/@book!=sql:variable("@book")]')



фууух

осталось как-то прикрутить значения из таблицы в БД... чет с этим пока туго :(
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / помогите отредактировать XML документ в SQL2008
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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