2016-05-13 2 views
2

Когда я запрашиваю таблицу БД со столбцом XMLWDDX падает на XML из БД (CF-2016)

<cfquery name="qryData"> 
    DECLARE @data xml = '<ul class="xoxo"><li><span><b>Config</b> [<var>1</var>]:</span><code>compliance</code></li></ul>' 

    SELECT @data AS Conf 
</cfquery> 

Он разбился при преобразовании в WDDX

<cfwddx action = "cfml2wddx" input = "#qryData#" output = "wddxText"> 

Adobe Bugbase: https://bugbase.adobe.com/index.cfm?event=bug&id=4152876

Есть ли лучшее обходное решение, чем Casting to varchar (max)?

+0

Джеймс - Интересно, почему вы должны это быть XML внутри запроса? почему бы не использовать ntext? –

+0

Это упрощенная версия проблемы. Фактический xml исходит из нормального столбца базы данных, который у меня отсутствует над –

+1

Хм ... не уверен, что здесь есть ответ Джеймс. Если Casting to TEXT не является вариантом, вы можете попробовать XMLFormat() перед сериализацией в WDDX - или вы можете просто URLEncode все это до сериализации. Я подозреваю, что синтаксический анализатор захлестнул XML внутри XML - возможно, он пытается получить визуализацию XML obejct, а затем встроить его в WDDX (который, возможно, будет многозначным XML-объектом с большим количеством уровней). ЕСЛИ это я, я бы выбрал либо WDDX, либо XML и придерживаюсь его - вместо того, чтобы накладывать один на другой, а? –

ответ