XML宣言"のためのXMLパス"にはSQL Server2005年
-
22-09-2019 - |
質問
以下は簡易版のクエリとして作成されます。クエリの作品ができないのでよいのかをXML宣言の上部に発生する形式をサポートしています。された複数のものが検索され広く、Googleが、alasできませんようでんこ---場合にも可能です。
select
'Dimension' "@type",
(
select
(
select
'X102' "TransactionType",
convert(varchar, getdate(), 104) "Transfer/TransferDate",
convert(varchar, getdate(), 108) "Transfer/TransferTime"
for xml path (''), type
) "TransactionInformation"
for xml path (''), type
)
for xml path ('DimensionImport'), type
を与えてくれてい...
<DimensionImport type="Dimension">
<TransactionInformation>
<TransactionType>X102</TransactionType>
<Transfer>
<TransferDate>21.01.2010</TransferDate>
<TransferTime>15:46:36</TransferTime>
</Transfer>
</TransactionInformation>
</DimensionImport>
私たいという...
<?xml version="1.0" encoding="ISO-8859-1" ?>
<DimensionImport type="Dimension">
<TransactionInformation>
<TransactionType>X102</TransactionType>
<Transfer>
<TransferDate>21.01.2010</TransferDate>
<TransferTime>15:46:36</TransferTime>
</Transfer>
</TransactionInformation>
</DimensionImport>
過ごしやすそうなきれいなの手でできても、お願いします。
解決 4
これが私がやったことです。データ型はXMLデータ型として返されませんが、私はそれに対処することができます。
select '<?xml version="1.0" encoding="ISO-8859-1" ?>' +
(
select
'Dimension' "@type",
(
select
(
select
'X102' "TransactionType",
convert(varchar, getdate(), 104) "Transfer/TransferDate",
convert(varchar, getdate(), 108) "Transfer/TransferTime"
for xml path (''), type
)
for xml path ('TransactionInformation'), type
),
(
... queried up data here ...
)
for xml path ('DimensionImport')
)
他のヒント
乱雑ですが、正面に連結するだけでは...
SELECT '<? xml...>' +
(select
'Dimension' "@type",
(
select
(
select
'X102' "TransactionType",
convert(varchar, getdate(), 104) "Transfer/TransferDate",
convert(varchar, getdate(), 108) "Transfer/TransferTime"
for xml path (''), type
) "TransactionInformation"
for xml path (''), type
)
for xml path ('DimensionImport'), type)
これを試して:
select '<?xml version="1.0" encoding="ISO-8859-1" ?>' +
(your whole upper select here)
残念ながら私はこれから SQLサーバーの書籍のオンライン:
XML宣言のPIスのインスタンスが保持されない場合、インスタンスがデータベースに保存されている例えば:
Copy Code CREATE TABLE T1 (Col1 int primary key, Col2 xml)
GO
INSERT INTO T1 values (1, '<?xml version="1.0" encoding="windows-1252" ?><doc></doc>')
GO
SELECT Col2
FROM T1
その結果、 <doc/>
.
の回避策は、XMLとしてvarchar(max)タイプ:
select '<?xml version="1.0" encoding="ISO-8859-1" ?>'
+
cast( (
select
'Dimension' "@type",
(
select
(
select
'X102' "TransactionType",
convert(varchar, getdate(), 104) "Transfer/TransferDate",
convert(varchar, getdate(), 108) "Transfer/TransferTime"
for xml path (''), type
) "TransactionInformation"
for xml path (''), type
)
for xml path ('DimensionImport'), type) as varchar(max))
2008年のR2からEMのR2では、「保存」を開き、「保存」ボタンを展開すると、魔女のエンコードを保存できます。その後、XML宣言が自動的に追加されます。
それが役に立てば幸い。よろしく。
所属していません StackOverflow