2016-08-31 2 views
0

Нужна помощь в анализе значения xml из строки, у меня есть xml в виде строки.Извлечь значение xml в строку

У меня есть строка, как

<ns3:sometag><ns4:somechildtag>foo</ns4:somechildtag></ns3:sometag> 

Теперь я хочу, чтобы получить значение somechildtag используя строку синтаксический или карту регулярных выражений в Java?

+1

Ни один из них - использовать парсер SAX или DOM для XML. – duffymo

+0

его строка, которая не может быть проанализирована, поскольку в нее включены новые строки и escape-символы. – Abhijeet

+1

Новая строка не представляет проблемы. Это действительный XML. Побег персонажей? Пожалуйста, объясни. Они должны быть действительными XML. Если да, вы можете и должны использовать парсер. Если нет, они не являются XML. – duffymo

ответ

0

Как уже упоминалось в одном из комментариев тоже, вам потребуется некоторый синтаксический анализатор для работы с XML - Там может быть DOM на основе синтаксического анализа или SAX на основе синтаксического анализа или stream на основе синтаксического анализа. Каждый из них имеет различные про/минусы -

Если ваш XML является простой/короткий, то вы можете загрузить его в память и поиграйте - Четкий и лаконичный пример можно найти в here

Кроме того, прежде чем вы начнете играть с JAXB или что-нибудь еще, что потребует схемы заранее, я бы предложил сначала понять концепции.