Выбор всей информации с узлов с тем же именем

Я новичок, когда дело доходит до xml.

Пока у меня есть эта часть xml, из которой я хочу извлечь информацию, но все имена узлов одинаковы (поэтому он просто захватывает один из них, если не указано иное).

Это выглядит примерно так:

<DocumentElement> <Screening> <ScreeningID>2</ScreeningID> <ScreeningDate>2011-09-13T00:00:00-04:00</ScreeningDate> <ScreeningResult>1</ScreeningResult> <ScreeningResultText>Negative</ScreeningResultText> <TextResult>0</TextResult> <TextResultText>Not Tested</TextResultText> <PageNumber>0</PageNumber> <AddedDate>2015-05-03T16:06:41.71774-04:00</AddedDate> <UpdateDate>2015-05-03T16:06:41.71774-04:00</UpdateDate> </Screening> <Screening> <ScreeningID>3</ScreeningID> <ScreeningDate>2011-09-13T00:00:00-04:00</ScreeningDate> <ScreeningResult>1</ScreeningResult> <ScreeningResultText>Negative</ScreeningResultText> <TextResult>1</TextResult> <TextResultText>Negative</TextResultText> <PageNumber>9</PageNumber> <AddedDate>2015-05-03T16:25:21.2904988-04:00</AddedDate> <UpdateDate>2015-05-03T16:25:21.2904988-04:00</UpdateDate> </Screening> 

И сейчас я использую этот вид фрагмента для извлечения информации из области TextResult

 Select answer.value('(/DocumentElement/Screening/TextResult)[1]','int') From Answers 

Тем не менее, это только захватывает первый бит информации, я знаю, что если я напишу что-то вроде этого, он получит мне второй бит информации, но в другом столбце: answer.value('(/DocumentElement/Screening[2]/textResult)[1]','int')

У меня есть два вопроса: 1. Не обязательно будет только 2 узла с тем же именем – он может продолжаться бесконечно. И 2. Я хочу, чтобы вся информация была собрана только в одну колонку.

Любая помощь будет оценена!

Вы можете попробовать:

 SELECT X.value('.','int') as 'TextResult' FROM Answers as 'a' CROSS APPLY a.answer.nodes('/DocumentElement/Screening/TextResult') as answers(X) 

SQL Fiddle

Я понимаю, что ваш смысл: получить весь TextResult в вашем XML-документе. Если это так, вы можете попробовать следующее:

 string xml = @"<DocumentElement> <Screening> <ScreeningID>2</ScreeningID> <ScreeningDate>2011-09-13T00:00:00-04:00</ScreeningDate> <ScreeningResult>1</ScreeningResult> <ScreeningResultText>Negative</ScreeningResultText> <TextResult>0</TextResult> <TextResultText>Not Tested</TextResultText> <PageNumber>0</PageNumber> <AddedDate>2015-05-03T16:06:41.71774-04:00</AddedDate> <UpdateDate>2015-05-03T16:06:41.71774-04:00</UpdateDate> </Screening> <Screening> <ScreeningID>3</ScreeningID> <ScreeningDate>2011-09-13T00:00:00-04:00</ScreeningDate> <ScreeningResult>1</ScreeningResult> <ScreeningResultText>Negative</ScreeningResultText> <TextResult>1</TextResult> <TextResultText>Negative</TextResultText> <PageNumber>9</PageNumber> <AddedDate>2015-05-03T16:25:21.2904988-04:00</AddedDate> <UpdateDate>2015-05-03T16:25:21.2904988-04:00</UpdateDate> </Screening> </DocumentElement>"; XElement xmlTree = XElement.Parse(xml); IEnumerable<XElement> textResultList = from c in xmlTree.Descendants("TextResult") select c; foreach (var item in textResultList) { Console.WriteLine(item.Value); } Console.Read(); 
  • Текст XML в таблицу Sql ... там и обратно
  • Хранимая процедура не нравится utf-16
  • Получение XML-данных, хранящихся в varchar из SQL
  • Извлечение элементов из XML в SQL
  • выбрать частоту элемента над столбцом xml
  • Вставить элемент в XML с помощью XQuery в SQL Server
  • Как преобразовать огромные XML-файлы в реляционные данные для выполнения запросов
  • SQL Server: импорт XML с веб-сервера?
  • Студия sql не может видеть специальные символы в XML
  • SQL Server: ошибка запроса XPATH
  • Удаление строки в XML из хранимой процедуры
  • Interesting Posts

    вставить в таблицу из другой таблицы и значения

    Как выполнить объединение в SQL Server без использования таблиц

    как управлять отношениями учащихся и книг в системе управления библиотеками в C # .net?

    Не удается удалить базу данных SQL Server Amazon RDS

    Как автоматизировать результаты запроса в Microsoft SQL Management Studio 2012 и отправить результаты запроса в службу WCF в виде мгновенных уведомлений?

    sp_MSForEachDB не похоже на GO

    Запрос на уменьшение размера базы данных SQL Server

    Как запустить триггер для вставки и обновления?

    Получена ошибка в получении результатов с помощью группировки по и на SQL Server 2008

    Как выполнить запрос DataGridView с помощью Linq

    Как вернуть дату-корреспонденту Максимальное значение

    Ошибка SQL Cross Join. Невозможно связать идентификатор с несколькими частями

    Перенос базы данных доступа на SQL-сервер с использованием SSIS

    Краткий / элегантный метод дублирования схемы таблицы?

    Получение имени элемента XML с помощью t-SQL

    Давайте будем гением компьютера.