C# вставить новый тег с помощью xelements
у меня есть xml-файл, где мне нужно проверить идентификатор, если он совпадает, основываясь на уже собранном списке идентификаторов. Текст/фактическое слово, которое должно быть помечено, было основано на index. startIndex и EndIndex. см. ниже пример xml
id =123
StartIndex =20
EndIndex =24
Тег для вставки = <action>
Примечание: при получении позиции текстовый тег не включается во время подсчета голосов.
<xml>
<id ="123"="">
the quick <bold>brown</bold> fox jump over the lazy dog. The house full of excitement. The blue car is very nice
Ожидаемый результат
<id ="123"="">
the quick <bold>brown</bold> fox <action>jump</action> over the lazy dog. The house full of excitement. The blue car is very nice
Что я уже пробовал:
private void GetPreText(IEnumerable<xelement> innodLevels, string _id, ref string innodeLevelValue, ref string tagUsed) { string pre = string.Empty; foreach (var innod in innodLevels) { string id = innod.Attributes(innod.GetDefaultNamespace() + "id").FirstOrDefault().Value; if (_id == id) { innodeLevelValue = innod.ToString(); if (innod.Descendants(innod.GetDefaultNamespace() + "pre").FirstOrDefault().Value == null) { pre = innod.Descendants(innod.GetDefaultNamespace() + "table").FirstOrDefault().Value; tagUsed = ""; //i need to insert the tag here using the pre variable content } else { pre = innod.Descendants(innod.GetDefaultNamespace() + "pre").FirstOrDefault().Value; //i need to insert the tag here using the pre variable content } break; } } }<table></table>
Maciej Los
Соори, но твой вопрос не совсем ясен.
1) Ваш xml-контент является неполным, поэтому мы не можем обработать его и проверить ваш код,
2) предполагая, что:
pre = "the quick <bold>brown</bold> fox jump over the lazy dog. The house full of excitement. The blue car is very nice";
pre.Substring(20,4)
возвращается "n</b
, так что текст после изменений будет:the quick <bold>brow<action>n</b</action>old> fox...
Chaegie
ниже приведен мой пример ввода xml. я загружаю указанный xml-файл с помощью xdocument
&ЛТ;xpre код="123"&ГТ;&ЛТ;пункт&ГТ;быстрый &ЛТ;смелые&ГТ;коричневый&ЛТ;/смелый&ГТ; лиса скачет над ленивой собакой. Дом был полон возбуждения. Синий автомобиль это очень хорошая&ЛТ;/п&ГТ;
у меня есть объект
объект x;
x.ID= 123;
х.параметр startindex =20
х.endindex включительно = 24
x.Opentag = <action>
x.Closetag =
ожидаемый результат.
&ЛТ;xpre код="123"&ГТ;&ЛТ;пункт&ГТ;быстрый &ЛТ;смелые&ГТ;коричневый&ЛТ;/смелый> У лиса &ЛТ;действий&ГТ;прыгать&ЛТ;/действий&ГТ; через ленивую собаку. Дом был полон возбуждения. Синий автомобиль это очень хорошая&ЛТ;/п&ГТ;