Я ищу способ добавить этот узел «LoanSecondaryStatusDates» в начале и соответствующий ему тег закрытия «LoanSecondaryStatusDates» до конца. Я подготовил ниже, используя «FOR XML» на SQL-сервере, но не могу понять, как добавить начальные и конечные теги. Если это возможно, используя «FOR XML», пример будет большим, иначе C# будет в порядке. Благодаря!Как добавить узел XML до и после набора узлов
Сейчас:
<Loans>
<Loan>
<GUID></GUID>
<AgentCompanyName></AgentCompanyName>
<LoanSecondaryStatus>
<StatusName>Name</StatusName>
<StatusDate>Date</StatusDate>
</LoanSecondaryStatus>
<LoanSecondaryStatus>
<StatusName>Name</StatusName>
<StatusDate>Date</StatusDate>
</LoanSecondaryStatus>
</Loan>
</Loans>
Конечный результат должен быть:
<Loans>
<Loan>
<GUID></GUID>
<AgentCompanyName></AgentCompanyName>
<LoanSecondaryStatusDates>
<LoanSecondaryStatus>
<StatusName>Name</StatusName>
<StatusDate>Date</StatusDate>
</LoanSecondaryStatus>
<LoanSecondaryStatus>
<StatusName>Name</StatusName>
<StatusDate>Date</StatusDate>
</LoanSecondaryStatus>
</LoanSecondaryStatusDates>
</Loan>
</Loans>
FOR XML Query
SELECT
[GUID]
,[AgentCompanyName],
(
SELECT
'Borrower Docs Sent/Req' as 'StatusName',
CASE WHEN t.BorrowerDocsSent IS NOT NULL THEN t.BorrowerDocsSent ELSE '' END as 'StatusDate'
FROM Encompass_loanData as t
WHERE t.[GUID] = E.[GUID]
FOR XML PATH('LoanSecondaryStatus'), TYPE
),
(
SELECT
t.BorrowerCity as 'StatusName',
t.[GUID] as 'StatusDate'
FROM Encompass_loanData as t
WHERE t.[GUID] = E.[GUID]
FOR XML PATH('LoanSecondaryStatus'), TYPE
)
From Encompass_loanData E
FOR XML PATH ('Loan'), type, root('Loans')
SQL Fiddle: http://sqlfiddle.com/#!6/d672a/2/0
Спасибо вам XSL работает, но удаляет другие элементы в документе XML. Есть ли способ сохранить существующую структуру такой же, но форматировать только этот раздел, как указано выше? – dc922
Приношу свои извинения. Я добавил запрос FOR XML. – dc922