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
-~----------~----~----~----~------~----~------~--~---

Reply via email to