Мне нужно заменить текст в большом текстовом документе, который следует за этим шаблоном.Заменить текст в большом текстовом документе с помощью regex
set @{VariableName} = dbo.XmlAssignAttributeValues({VariableName}, '/{NodeName}', '{PropertyName}', @{PropertyVariableName})
Примеры:
set @Xml = dbo.XmlAssignAttributeValues(@Xml, '/Xml','xmlAssemblyTimeInMilliseconds', @XmlAssemblyTimeInMilliseconds)
В ...
set @Xml.modify('insert attribute xmlAssemblyTimeInMilliseconds {sql:variable("@XmlAssemblyTimeInMilliseconds")} into (/Xml)[1]')
Это ...
set @StudentsXml = dbo.XmlAssignAttributeValues(@StudentsXml, '/Students', 'studentCount', @StudentCount)
В ..
set @StudentsXml.modify('insert attribute studentCount {sql:variable("@StudentCount")} into (/Students)[1]')
Это ...
set @ClassesXml = dbo.XmlAssignAttributeValues(@ClassesXml, '/Classes', 'ClassRank', @SomeSillyClassRank)
В ...
set @ClassesXml.modify('insert attribute ClassRank {sql:variable("@SomeSillyClassRank")} into (/Classes)[1]')
Редактировать # 1 Для дальнейшего уточнения: Так в моем тексте документа У меня есть много выражений SQL, которые взаимодействуют с XML-атрибуты. Поэтому в выражении set @ {VariableName} = dbo.XmlAssignAttributeValues ({VariableName}, '/ {NodeName}', '{PropertyName}', @ {PropertyVariableName}) У меня есть имя переменной, которое назначается моей базе данных в функции называемый dbo.XmlAssignAttributeValues. В этой функции передаваемые параметры - это имя переменной, которую я устанавливаю «@Xml», имя узла, к которому я пытаюсь получить доступ «/ NodeName», имя свойства, которое я пытаюсь вставить, и свойства Имя переменной DB.
Таким образом, то, что мне нужно сделать, л искать строку, которая соответствует формату "набор @TheVariableName = dbo.XmlAssignAttributeValues (@TheVariableName, '/ TheNodeName', '' ThePropertyName, @ThePropertiesVariableName" TO «установить @AnyVariableName .modify ('@ TheVariableName ThePropertyName {SQL: переменная ("@ ThePropertiesVariableName")} в (/ TheNodeName) [1]!')? Надеюсь, что очищает вещи более
Как это сделать с помощью регулярных выражений в C#
Можете ли вы объяснить, используя слова, что вы пытаетесь сделать? Трудно перестроить правила из ваших примеров. – Blorgbeard
@Blorgbeard Конечно! Поэтому в моем текстовом документе у меня есть много выражений SQL, которые взаимодействуют с атрибутами XML. Таким образом, в выражении множества @ {VARIABLENAME} = dbo.XmlAssignAttributeValues ({VariableName}, '/ {NodeName}', '{PropertyName}, {@} PropertyVariableName) У меня есть имя переменной, которая назначена на мой базы данных в функции, называемой dbo.XmlAssignAttributeValues. В этой функции передаваемые параметры - это имя переменной, которую я устанавливаю «@Xml», имя узла, к которому я пытаюсь получить доступ «/ NodeName», имя свойства, которое я пытаюсь вставить, и свойства Имя переменной DB –
Вы должны изменить свой вопрос, чтобы добавить эти детали - форматирование намного лучше. – Blorgbeard