Стандартная таблица ELMAH_Error использует поле nText для хранения записи об ошибке. Я нашел это, добавив поле типа XML; затем добавление этого нового поля в оператор INSERT SPROC, который заполняет поле; я мог бы лучше использовать выход ELMAH.
Теперь я хотел бы узнать, как запрашивать значения определенных элементов в этом поле XML. Документ имеет следующую структуру:
<error [...]>
<serverVariables>
<item name="ALL_HTTP">
<value string="..." />
</item>
<item name="ALL_RAW">
<value string="..." />
</item>
.
.
.
</serverVariables>
</error>
Мне нужно иметь возможность запрашивать значение определенных элементов ниже.
Итак, я смотрю на пример из 15seconds.com статьи:
SELECT MyXml.value('(/root/product[@id="304"]/name)[1]', 'nvarchar(30)')
и я пытаюсь сопоставить эти значения со структурой моего поля, но не могу. Э.Г.
select top 10 RealXML.value('(/error/serverVariables[@id="REMOTE_HOST"]/name)[0]', 'nvarchar(30)')
где REMOTE_HOST отформатирован:
<item name="REMOTE_HOST">
<value string="55.55.55.55" />
</item>
высоко ценится