Ваши примеры допустимы в формате XML, за исключением отсутствия элемента документа. Если вы знаете, что это всегда так, то вы можете просто обернуть набор фиктивных тегов вокруг всего и использовать стандартный синтаксический анализатор (SAX, DOM ...)
С другой стороны, если вы получаете что-то более уродливое (например, теги не совпадают или разнесены друг от друга), вам придется сделать что-то нестандартное, включающее ряд правил, которые вам необходимо принять решение о том, что будет уникальным для вашего приложения. (например, как мне обработать открывающий тег, который не имеет закрывающего тега? Что мне делать, если закрывающий тег находится вне родительского тега?)