Reputation: 26648
Hi I am working on scraping the XML file. For HTML I have used scrapy and for XML I decided to parse it by using xml.sax
.
Following is an example code (don't treat it as a real example) just to view my doubt:
from xml.sax.handler import ContentHandler
import xml.sax
xmlFilePath = 'users/documents/jobstext.xml'
try:
parser = xml.sax.make_parser( )
parser.parse(open(xmlFilePath))
except (xml.sax.SAXParseException), e:
print "*** PARSER error: %s" % e
print e,"What is the error actually >>>>"
Following is XML code:
<?xml version="1.0" encoding="utf-8"?>
<jobs>
<reader><![CDATA[Identity Group]]></reader>
<readerUrl><![CDATA[http://www.example.com]]></readerUrl>
<job>
<title><![CDATA[Architect - OT]]></title>
<category><![CDATA[LTC/SNF]]></category>
<jobId><![CDATA[139693]]></jobId>
<specialization><![CDATA[LTC/SNF]]></specialization>
<positionType><![CDATA[Travel]]></positionType>
<description><![CDATA[<DIV>OT needed for a SNF in Oregon. Oregon is a dramatic land of many changes. From the rugged Oregon seacoast, the high mountain passes of the country for Travel Allied Professionals and Travel Nurses. Our clients are among the most prestigious healthcare facilities in the country.</DIV>
<DIV> </DIV>
</description>
<P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT size=3><SPAN style="FONT-FAMILY: Symbol; COLOR: black; mso-ascii-font-family: 'Times New Roman'">�</SPAN><SPAN style="COLOR: black"><FONT face="Times New Roman"><SPAN style="mso-spacerun: yes"> </SPAN>Position will manage 24 ED Rooms with 24/7 accountability<o:p></o:p></FONT></SPAN></FONT></P>
<P style="MARGIN: 0in 0in 0pt" class=MsoNormal><FONT size=3><SPAN style="FONT-FAMILY: Symbol; COLOR: black; mso-ascii-font-family: 'Times New Roman'">�</SPAN><SPAN style="COLOR: black"><FONT face="Times New Roman"> <SPAN style="mso-spacerun: yes"> </SPAN>55 FTEs <o:p></o:p></FONT></SPAN></FONT></P>
</job>
</jobs>
Result:
*** PARSER error: users/documents/jobstext.xml:13:150: not well-formed <invalid token>
users/documents/jobstext.xml:13:150: not well-formed <invalid token> What is the error actually >>>>
What is happening when the execution reaches <p>
tag and index 150 its displaying an error invalid token? I am expecting this becuase of ?
tag as you can see this in the above error .
So can anyone please let me know how to solve this error of not well-formed <invalid token>
in xml parsing,
If I explained in a wrong format, I am sorry, but hope I explained the concept well.
Edited Code:
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial">THE MOST COMPETITIVE RATES IN NM .....<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Arial">Busy <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><st1:place w:st="on"><st1:PlaceName w:st="on">Acute</st1:PlaceName> <st1:PlaceName w:st="on">Care</st1:PlaceName> <st1:PlaceType w:st="on">Hospital</st1:PlaceType></st1:place> needs Occupational Therapists. Experience with </SPAN><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Ortho, Neuro, vestibular balance, aquatic a plus!<SPAN style="COLOR: black"> New grads welcome.<SPAN style="mso-spacerun: yes"> </SPAN>Signon Bonus and help with relocation.<SPAN style="mso-spacerun: yes"> </SPAN>For more details please call or email Carole 800 995 2673 X1329 or <A href="mailto:[email protected]"><SPAN style="mso-bidi-font-weight: bold; mso-bidi-font-size: 12.0pt">[email protected]</SPAN></A><o:p></o:p></SPAN></SPAN></P>
Upvotes: 0
Views: 5104
Reputation: 943089
Since the question has changed...
XML attributes must be quoted.
For example: class=MsoNormal
should be class="MsoNormal"
Upvotes: 1
Reputation: 943089
Your description
has no end tag and the CDATA section inside it is never terminated … although I'd expect it to error at the end of the document rather than on the third line of data for that element.
Upvotes: 1