Разбить строку на подстроки в указанном виде - C#

Узнай цену своей работы

Формулировка задачи:

как мне сплитануть строку
1;2;3;4;5;6;{RT16}1;2;3;4;5;6{RT16}1;2;3;4;5;6{RT16}1;2;3;4;5;6
в вот такой вид:
<node>
<elementA>1</elementA>
<elementB>2</elementB>
<elementC>3</elementC>
<elementE>4</elementE>
<elementF>5</elementF>
<elementG>6</elementG>
</node>
<node>
<elementA>1</elementA>
<elementB>2</elementB>
<elementC>3</elementC>
<elementE>4</elementE>
<elementF>5</elementF>
<elementG>6</elementG>
</node>
<node>
<elementA>1</elementA>
<elementB>2</elementB>
<elementC>3</elementC>
<elementE>4</elementE>
<elementF>5</elementF>
<elementG>6</elementG>
</node>
<node>
<elementA>1</elementA>
<elementB>2</elementB>
<elementC>3</elementC>
<elementE>4</elementE>
<elementF>5</elementF>
<elementG>6</elementG>
</node>
Ну вы поняли что спецсимвол {RT16} разбивает строку на узлы, а точка с запятой разбивает на элементы, подскажите как мне для xml оч нужно. заранее спасибо

Решение задачи: «Разбить строку на подстроки в указанном виде»

textual
Листинг программы
string text = "1;2;3;4;5;6;{RT16}1;2;3;4;5;6{RT16}1;2;3;4;5;6{RT16}1;2;3;4;5;6";
string[] names = new[]{"A", "B", "C", "E", "F", "G"};
XElement[] nodes = text.Split(new[]{"{RT16}"}, StringSplitOptions.RemoveEmptyEntries)
    .Select(part1 => new XElement(
        "node", part1.Split(new[]{';'}, StringSplitOptions.RemoveEmptyEntries).Select(
            (part2,idx) => new XElement("element" + names[idx], part2)
        ))
    )
    .ToArray();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы