0
У меня есть следующий XML-файл (это файл RDL службы отчетов SQL Server). Я хочу заменить <Value>
на TablixCell
на <DataField>
по адресу Fields
. То есть «order date1» и «prod id1» следует заменить на «order_date» и «prod_id» соответственно.Заменить текст по позиции?
Предпочтительно это можно сделать в SQL Server 2008 с использованием XQuery. Xslt прекрасно, если нет.
<Fields>
<Field Name="order_date">
<DataField>order_date</DataField>
<rd:TypeName>System.DateTime</rd:TypeName>
</Field>
<Field Name="prod_id">
<DataField>prod_id</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
....
</Fields>
......
<TablixRows>
<TablixRow>
<Height>0.25in</Height>
<TablixCells>
<TablixCell>
......
<Value>order date1</Value>
......
</TablixCell>
<TablixCell>
.....
<Value>prod id1</Value>
.....
Можете ли вы объяснить подробнее о чем ты» вы пытаетесь достичь? Моя первоначальная мысль заключается в том, что вы можете просто найти и заменить в файле rdl ... но тот факт, что вы пытаетесь использовать XQuery, заставляет меня задаться вопросом, есть ли более значительная цель, чем замена строк в этом одном файле. – Rose
Да, поиск и замена отлично работают, если в одном файле XML есть только несколько полей. Однако в каждом из 50 отчетов есть сотни столбцов. – ca9163d9
В предоставленном отрывке XML-файла отсутствует «prod_date». Выдержка не является хорошо сформированным XML-файлом и даже не является хорошо сформированным фрагментом XML. Пожалуйста, отредактируйте и исправьте. –