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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to