Разбить строку на подстроки в указанном виде - C#
Формулировка задачи:
как мне сплитануть строку в вот такой вид:
Ну вы поняли что спецсимвол {RT16} разбивает строку на узлы, а точка с запятой разбивает на элементы, подскажите как мне для xml оч нужно. заранее спасибо
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>
Решение задачи: «Разбить строку на подстроки в указанном виде»
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();