Scala xhtml атрибут ломается из-за вопросительного знака - PullRequest
2 голосов
/ 22 мая 2010

У меня была проблема с:

 <iframe id="iframe1" src='http://stockcharts.com/h-sc/ui?s=MT&p=D&yr=2&mn=0&dy=0&id=p43321191731' width="300px" height="300px"></iframe>

в версии веб-фреймворка Lift (Scala). Я получаю:

Message: java.util.NoSuchElementException
scala.RandomAccessSeq$$anon$13.next(RandomAccessSeq.scala:165)
scala.xml.parsing.MarkupParser$class.normalizeAttributeValue(MarkupParser.scala:1191)

Оказалось, что вопросительный знак ? в атрибуте iframe src вызвал это. Что я могу сделать, чтобы это быстро исправить?

Ответы [ 2 ]

4 голосов
/ 22 мая 2010

http://www.mail-archive.com/liftweb@googlegroups.com/msg08961.html

Проблема в амперсанде, нужно сбежать

<iframe id="iframe1" src='http://stockcharts.com/h-sc/ui?s=MT&amp;p=D&amp;yr=2&amp;mn=0&amp;dy=0&amp;id=p43321191731' widt    h="300px" height="300px"></iframe>
3 голосов
/ 22 мая 2010

Избегайте символов '&'.

scala> <elem attr="a&amp;"/>
res0: scala.xml.Elem = <elem attr="a&amp;"></elem>

Или:

scala> val a = "a&"
a: java.lang.String = a&

scala> <elem attr={a}/>
res1: scala.xml.Elem = <elem attr="a&amp;"></elem>
...