У меня есть переменная, которая содержит длинную строку, которая представляет XML-документ. В этой строке мне нужно искать каждый самозакрывающийся тег и расширяться до двух соответствующих открывающих / закрывающих тегов. Я действительно не уверен, как справиться с этим, и буду признателен за ваш совет. На данный момент все, что я знаю, это как сопоставить самозакрывающийся тег с помощью регулярного выражения: [^<]+?/>
Вот краткий пример того, чего я хотел бы достичь:
ОРИГИНАЛЬНАЯ СТРОКА:
<outer-tag>
<inner-tag-1>
<SELF-CLOSING-TAG-1 foo="bar"/>
<SELF-CLOSING-TAG-2/>
</inner-tag-1>
<inner-tag-2>
<SELF-CLOSING-TAG-3 attr="value"/>
</inner-tag-2>
</outer-tag>
ИЗМЕНЕННАЯ СТРОКА:
<outer-tag>
<inner-tag-1>
<SELF-CLOSING-TAG-1 foo="bar"></SELF-CLOSING-TAG-1>
<SELF-CLOSING-TAG-2></SELF-CLOSING-TAG-2>
</inner-tag-1>
<inner-tag-2>
<SELF-CLOSING-TAG-3 attr="value"></SELF-CLOSING-TAG-3>
</inner-tag-2>
</outer-tag>