В (Java) коде, над которым я работаю, я иногда имею дело с не правильно сформированным XML (представленным как Java String
), таким как:
<root>
<foo>
bar & baz < quux
</foo>
</root>
Поскольку этот XML в конечном счете необходимо будет демаршировать (используя JAXB), очевидно, что этот XML как есть, будет генерировать исключение при демаршаллинге.
Какой лучший способ заменить &
и <
на его сущности? Для &
это так же просто, как:
xml.replaceAll("&", "&")
Однако для символа <
это немного сложно, поскольку, очевидно, я не хочу заменять <
, который используется для тега XML, открывающего скобку.
Кроме сканирования строки и ручной замены <
в теле XML на <
, какой другой вариант вы можете предложить?