Я, должно быть, делаю какую-то глупую ошибку. У меня есть сервер, который возвращает XML <a><b>123</b></a>
, и теперь я хотел бы сравнить с этим XML. Поэтому я пишу что-то вроде
xml match {
case <a><b>{_}</b></a> => true
}
Это работает до тех пор, пока мне не приходится иметь дело с многострочными литералами XML. Поэтому важно то, что сервер отправляет мне весь XML в виде одной строки. XML достаточно большой, чтобы взорвать одну строку кода, но я не могу понять, как заставить это работать.
Сервер отправляет <a><b>123</b><c>123</c><d>123</d><e>123</e><f>123</f></a>
, и я хотел бы сделать это:
xml match {
case <a>
<b>{_}</b>
<c>{valueOfC}</c>
<d>{_}</d>
<e>{_}</e>
<f>{_}</f>
</a> => valueOfC
}
Но я всегда получаю MatchError. Если я пишу все в одну строку, это работает. Итак, вопрос: как я могу сопоставить XML при написании читабельного кода?
Я, конечно, пытался найти ответ через Google. Достаточно забавно, что все примеры являются однострочными или рекурсивными.