ДЛЯ ПУТИ XML (''): Выход из “специальных” символов

Если это не нативное, то это не совсем программирование

По определению, программа - это объект, управляемый компьютером. Он говорит напрямую с процессором и ОС. Код, который не взаимодействует напрямую с процессором и ОС, но вместо этого запускается какой-либо другой программой, которая напрямую взаимодействует с процессором и ОС, не является программой; это сценарий.

Это было просто здравым смыслом, совершенно не спорным, еще до появления Java. Внезапно появился язык сценариев с достаточно большим набором функций для выполнения задач, которые ранее были исключительно областью программ. В ответ Microsoft разработала платформу .NET и некоторые языки сценариев для работы на ней, и ей удалось еще больше затопить воды, медленно уменьшая поддержку истинного программирования среди их инструментов разработки в пользу сценариев .NET.

Несмотря на то, что он может выполнить множество задач, для которых ранее вам приходилось писать программы, управляемый код любого вида все еще остается скриптом, а не программированием, а «программы», написанные в нем, делают и всегда будут иметь общие характеристики производительности скриптов. они работают медленнее и используют гораздо больше оперативной памяти, чем реальная (нативная) программа, чтобы выполнить ту же задачу.

Люди, называющие это программированием, оказывают всем медвежью услугу, затупляя определение. Это приводит к снижению качества по всем направлениям. Если вы попытаетесь сделать программирование настолько простым, что любой идиот сможет это сделать, то в итоге вы получите множество идиотов, которые думают, что могут программировать.

15
задан TT. 22 November 2016 в 11:55
поделиться

1 ответ

Полученный XML верен. Это XML , а не текст, и он читается как XML анализатором XML. Специальные символы правильно экранируются, как и должно быть. Независимо от того, какой у вас клиентский модуль, который использует этот XML, он должен анализировать его как XML, а не как текст, и тогда он будет отображаться правильно.

Обновление:

Если не ясно, все, что вам нужно сделать в вашем запросе, - это обрабатывать XML как XML и текст как текст, а не смешивать XML как текст, например:

;WITH CodeValues AS
    (
    SELECT
        Number,SUBSTRING(@R,Number,1) AS R,ASCII(SUBSTRING(@U,Number,1)) AS UA
        FROM Numbers
        WHERE Number<=LEN(@R)
    )
, XmlValues AS (
SELECT
        t.RowID
            ,(SELECT
                  ''+c.R
                  FROM Numbers               n
                      INNER JOIN CodeValues  c ON ASCII(SUBSTRING(t.Unreadable,n.Number,1))=c.UA
                  WHERE n.Number<=LEN(t.Unreadable) 
                  FOR XML PATH(''), TYPE
             ) AS readable
        FROM @TestTable t)
SELECT x.RowId,
    x.readable.value('.', 'VARCHAR(8000)') as readable
    FROM XmlValues AS x
23
ответ дан 1 December 2019 в 03:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: