Попробуйте поместить файл persistance.xml
в каталог WEB-INF (src/main/webapp/WEB-INF)
, поскольку в случае war
именно там вы должны разместить файл persisntence.xml
.
можно сделать это в выборе, который Вы используете для создания xml, с помощью параметра XSINILL.
http://msdn.microsoft.com/en-us/library/ms178079.aspx
(вот очень грубый пример),
--create 2 tables and put some data in them
create table node
(
id int identity(1,1) primary key,
node int
)
GO
create table node1
(
id int identity(1,1) primary key,
nodeid int foreign key references node(id),
targetnode int
)
GO
insert into node
select 1
GO 5
insert into node1
select 1,2
union
select 2,null
union
select 3,2
union
select 4,null
--
--select statement to generate the xml
SELECT TOP(1)
(SELECT
( SELECT targetnode
FROM node1
WHERE nodeid = node.id
FOR XML AUTO,
ELEMENTS XSINIL,
TYPE
)
FROM node FOR XML AUTO,
ELEMENTS,
TYPE
)
FROM node FOR XML RAW('root'),
ELEMENTS
Это не возможно с изменять-функцией. Это только работает над единственным узлом.
Можно управлять им как строкой, хотя это определенно ужасно и возможно неправильно в некоторых случаях, в зависимости от фактической структуры XML.
Как это:
declare @xml as xml
set @xml = '<root>
<node>
<node1>
<targetNode>
</targetNode>
</node1>
<node1>
<targetNode>
</targetNode>
</node1>
<node1>
<targetNode>
</targetNode>
</node1>
</node>
</root>
'
set @xml = replace(cast(@xml as nvarchar(max)), '<targetNode/>', '<targetNode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />')
select @xml