Hello, I am a newby to both scala and lift. Now that that's out of the way I'm wondering how to properly use PCDataXmlParser to read and parse html. I pull data from a restful service by doing the following:
[code] import dispatch._ import Http._ import net.liftweb.util._; import scala.xml._; def upcDatabase(): Box[NodeSeq] = { val http = new Http var stream: String = ""; http("http://www.upcdatabase.com/item/0606949324124" >- (arg => stream = arg)) stream; PCDataXmlParser(stream); } val feedXML: Box[NodeSeq] = upcDatabase; [/code] when doing this I get the following exception: [exception] INF: [console logger] dispatch: GET http://www.upcdatabase.com/item/0606949324124 log4j:WARN No appenders could be found for logger (org.apache.http.impl.conn.SingleClientConnManager). log4j:WARN Please initialize the log4j system properly. :96:5: '<' not allowed in attrib value </a> ^ :97:1: '<' not allowed in attrib value</p>^ :98:1: '<' not allowed in attrib value</td>^ :99:1: '<' not allowed in attrib value<td valign="top" width="70%">^ :99:27: whitespace expected<td valign="top" width="70%"> ^ :99:27: '>' expected instead of '%'<td valign="top" width="70%"> ^ Exception in thread "main" java.lang.ExceptionInInitializerError at ca.ctrlspace.loveItHateItWeb.xml.UpcDatabaseFeed.main (UpcDatabaseFeed.scala) Caused by: java.lang.RuntimeException: FATAL at scala.Predef$.error(Predef.scala:76) at scala.xml.parsing.MarkupParser$class.xToken(MarkupParser.scala:267) at net.liftweb.util.PCDataXmlParser.xToken(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala: 680) at net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala: 481) at net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala: 505) at net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala: 682) at net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala: 481) at net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala: 505) at net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala: 682) at net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala: 481) at net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala: 505) at net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala: 682) at net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala: 481) at net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala: 505) at net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala: 682) at net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala: 481) at net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala: 505) at net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala: 682) at net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala: 481) at net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala: 505) at net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala: 682) at net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala: 481) at net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala: 505) at net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala: 682) at net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala: 481) at net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala: 505) at net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala: 91) at scala.xml.parsing.MarkupParser$class.document(MarkupParser.scala: 207) at net.liftweb.util.PCDataXmlParser.document(PCDataMarkupParser.scala: 91) at net.liftweb.util.PCDataXmlParser$.apply(PCDataMarkupParser.scala: 112) at ca.ctrlspace.loveItHateItWeb.xml.UpcDatabaseFeed$.upcDatabase (UpcDatabaseFeed.scala:16) at ca.ctrlspace.loveItHateItWeb.xml.UpcDatabaseFeed$.<init> (UpcDatabaseFeed.scala:19) at ca.ctrlspace.loveItHateItWeb.xml.UpcDatabaseFeed$.<clinit> (UpcDatabaseFeed.scala) ... 1 more [/exception] What is the proper way to parse non strict html? I thought PCDataXMLParser allowed for non strict xml as opposed to XML.load(). Thanks, Chris --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---