scala заменяет текст внутри NodeSeq на NodeSeq - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть некоторый код, который выглядит примерно так ...

val text = "<em>emphasized</em>"
val xml = <span>This is some {text} xml</span>

Значение "text" на самом деле исходит из базы данных, но это будет строковое значение, которое содержит теги элемента em.

Мой вопрос заключается в том, как преобразовать 2 строковых тега, "" и "", в фактический xml внутри NodeSeq ... когда помещенный в него фрагмент возвращает NodeSeqхотите, чтобы тег "em" был фактическим элементом xml, а не строковым представлением xml.

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Альтернативный ответ, если у вас нет действительного фрагмента XML, состоит в том, чтобы составить xml как String, а затем преобразовать все в XML, используя XML.loadString.

1 голос
/ 14 декабря 2011

scala.xml.XML.loadString(String): scala.xml.Elem

Будьте осторожны: это возвращает Elem и требует (очевидно) нормального XML-ввода.Следующие строки будут (например) вызывать исключение:

"<em>emphasized</em><a/>" // no Elem but a NodeSeq
"<em>empha<sized</em>" // invalid XML

Вы можете очистить первую строку, добавив несколько фиктивных XML-тегов вокруг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...