Я новый XML, но не SQL. У меня есть данные, структурированные нашим приложением поставщика, как следует, что я пытаюсь загрузить в таблицу:XML-значение, погребенное внутри узла
<windowsets>
<windows>
<question>
<id Value="81b25d-9385-sk3" />
<displayname Value="Thermal Break" />
<answername Value="Yes" />
</question>
<question>
<id Value="73v32k-2743-fd9" />
<displayname Value="Panel Profile" />
<answername Value="Medium Stille" />
</question>
</windows>
</windowsets>
Через другие посты здесь я нашел и дошел до создания:
select
t.x.value('(id [@Value]/text())[1]','varchar(100)') QuestionID,
t.x.value('(displayname [@Value]/text())[1]','varchar(255)') DisplayName,
t.x.value('(answername [@Value]/text())[1]','varchar(255)') AnswerName
from @xmlData.nodes('//windowsets/windows/question') as T(X)
Но она возвращает аннулирует для всех столбцов, и я предполагаю, что это потому, что он ожидает формат:
<displayname>Panel Profile</displayname>
Так быть XML послушником и весь поиск я делал, не помогает мне понять, как изменить Колорадо de, чтобы вытащить его, когда значение захоронено в узле (даже не уверен в правильной терминологии, я так новичок).
СПАСИБО за вашу помощь!
кстати: Это хороший вопрос. +1 с моей стороны – Shnugo