В таблице ELMAH_Error для хранения записи ошибки используется поле nText. Я обнаружил, что добавив поле типа XML; затем добавив это новое поле в инструкцию INSERT SPROC, которая заполняет поле; я мог бы лучше использовать выход ELMAH.Query Поле ELMAH XML
Теперь я хотел бы узнать, как запрашивать определенные значения элементов в этом поле 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>
высоко ценится
+1 Это был бы путь. – 2010-11-18 13:04:52