0
我试图添加一个非法字符的元素有问题。我有以下SQLSQL XML中的感叹号
SELECT
'en-GB' AS '@xml:lang',
'[email protected]' AS '@payloadID',
'2012-02-17T16:46:11' AS '@timestamp',
'1.2.014' AS '@version',
(SELECT
(SELECT /* FROM */
(SELECT 'TecSolExchangeID' AS 'Credential/@domain', 33333 AS 'Credential/Identity'
FOR XML PATH(''), TYPE),
(SELECT 'name' AS 'Credential/@domain', 'Test Limited' AS 'Credential/Identity'
FOR XML PATH(''), TYPE)
FOR XML PATH('From'), TYPE),
(SELECT /* TO */
(SELECT 'TecSolExchangeID' AS 'Credential/@domain', 66666 AS 'Credential/Identity'
FOR XML PATH(''), TYPE),
(SELECT 'name' AS 'Credential/@domain', 'Test Company' AS 'Credential/Identity'
FOR XML PATH(''), TYPE)
FOR XML PATH('To'), TYPE),
(SELECT /* SENDER */
(SELECT 'TecSolExchangeID' AS 'Credential/@domain', 13041 AS 'Credential/Identity', '' AS 'Credential/SharedSecret'
FOR XML PATH(''), TYPE), ' cXML Link v1.3.0' AS 'UserAgent'
FOR XML PATH('Sender'), TYPE)
FROM TEST2.PORDER
WHERE POHNUM_0 = '2011302POH00000002'
FOR XML PATH('Header'),TYPE)
, (SELECT 'production' AS '@deploymentMode',
(SELECT
(SELECT /* ShipNoticeHeader */
(SELECT ''
FOR XML PATH(''),
TYPE)
FOR XML PATH('ShipNoticeHeader'),
TYPE),
(SELECT '' AS '@domain',
'' as 'CarrierIdentfier',
''AS 'ShipmentIdentifier'
FOR XML PATH('ShipControl'),
TYPE),
(SELECT /* Ship Notice Portion */
(SELECT '1;29117/42' AS 'DocumentReference/@PayLoadID',
'' AS 'DocumentReference'
FOR XML PATH('OrderReference'),
TYPE),
(SELECT '4' AS '@Quantity',
'1' AS '@LineNo',
'Box 4' AS 'UnitOfMeasure'
FOR XML PATH('ShipNoticeItem'),
TYPE)
FOR XML PATH('ShipNoticePortion'),
TYPE)
FROM TEST2.PORDER
WHERE POHNUM_0 = '2011302POH00000002'
FOR XML PATH('ShipNoticeRequest'),
TYPE)
FROM TEST2.PORDER
WHERE POHNUM_0 = '2011302POH00000002'
FOR XML PATH('Request'),
TYPE)
FROM TEST2.PORDER
WHERE POHNUM_0 = '2011302POH00000002'
FOR XML PATH('?XML')
正如你所看到的,我在根域中有一个问号。这个错误会失败。 '?XML'包含FOR XML所要求的无效XML标识符; '?'(0x003F)是错误的第一个字符'。
我的问题是我需要能够创建具有非法字符的元素。例如,我还需要围绕此消息的另一个元素,它将是“<!DOCTYPE >”。相同的情况,除了这个字段有感叹号。
这是可能的第一次,如果是这样,任何人都可以帮我完成它。
在此先感谢
你可能认为数据库层不是尝试构建一个完全成熟的文档的最明智的地方(这不是真的* XML,所以XML设施正在与你打交道) – 2013-05-09 13:43:37