Как создать новый xelement для каждого тега </br> В XML на языке C#?
Мой XML содержит следующие данные:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE repub SYSTEM "C:\repub\Repub_V1.dtd"> <?xml-stylesheet href="C:\repub\repub.xsl" type="text/xsl"?> <repub> <head> <title>xxx</title> </head> <body> <sec> <title>First Title</title> <break name="1-1"/> <h1><page num="1"/>First Heading</h1> <bl>This is another text</bl> <fig><img src="images/img_1-1.jpg" alt=""/><fc>This is a caption</fc></fig> <p>This<br/> again is<br/> a paragraph</p> </sec> </body> </repub>
Он содержит тег < p > с несколькими тегами < br />. Я хочу создать новый < p > Для каждого < br />.
Чего я хочу добиться:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE repub SYSTEM "C:\repub\Repub_V1.dtd"> <?xml-stylesheet href="C:\repub\repub.xsl" type="text/xsl"?> <repub> <head> <title>xxx</title> </head> <body> <sec> <title>First Title</title> <break name="1-1"/> <h1><page num="1"/>First Heading</h1> <bl>This is another text</bl> <fig><img src="images/img_1-1.jpg" alt=""/><fc>This is a caption</fc></fig> <p>This</p> <p>again is</p> <p>a paragraph</p> </sec> </body> </repub>
Я не знаю, что делать дальше.
Что я уже пробовал:
Я пытаюсь подойти к этому, используя следующий метод:
foreach (var item in xdoc.Descendants("p")) { if (item.Elements("br").Count() > 0) { foreach (var br in item.Elements("br")) { //Do something } } }
Christian Graus
Я не думаю, что это лучше всего сделать с помощью XML. Вам лучше просто использовать регулярное выражение или строку, затирающую его IMO.
Primo Chalice
Тогда как же мне действовать? Является ли linq хорошим вариантом? Пожалуйста, помогите мне