trying to use sax for a very basic first xml parser

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • manu

    trying to use sax for a very basic first xml parser

    Hi,

    I need to parse xml files for the Blender Game Engine. ATM I am trying
    to get this script running in the BGE. This is my first script and I
    dont have much experience programming...

    import xml.sax

    class PnmlHandler(xml .sax.ContentHan dler):
    def __init__(self):
    self.inPlace=0

    def startElement(se lf, name, attrs):
    if name != "place": return
    if attrs.getLength ()==0: return

    print 'Starting element:', name
    print "attrs:", attrs.keys()
    id = attrs.get("id", None)
    print "id:", id

    if name == "place":
    self.inPlace=1

    def endElement(self , name):
    if name == "place":
    self.inPlace=0



    parser = xml.sax.make_pa rser()
    parser.setConte ntHandler(PnmlH andler())
    parser.parse(op en("bpm.pnml"," r"))

    this works in the IDLE ide. Output:

    Starting element: place
    attrs: [u'id']
    id: p9723441
    Starting element: place
    attrs: [u'id']
    id: p26811937
    Starting element: place
    attrs: [u'id']
    id: p24278422[/code]

    but when I copy the script into blender and run it I get:

    Code:
    Compiled with Python version 2.5.
    Checking for installed Python... got it!
    Traceback (most recent call last):
    File "Text", line 27, in <module>
    File "H:\Python25\lib\xml\sax\__init__.py", line 93, in make_parser
    raise SAXReaderNotAvailable("No parsers found", None)
    xml.sax._exceptions.SAXReaderNotAvailable: No parsers found
    Its probably a stupid question but thanks anyway!
  • Miki

    #2
    Re: trying to use sax for a very basic first xml parser

    Hello,
    but when I copy the script into blender and run it I get:
    >
    Code:
    Compiled with Python version 2.5.
    Checking for installed Python... got it!
    Traceback (most recent call last):
      File "Text", line 27, in <module>
      File "H:\Python25\lib\xml\sax\__init__.py", line 93, in make_parser
        raise SAXReaderNotAvailable("No parsers found", None)
    xml.sax._exceptions.SAXReaderNotAvailable: No parsers found
    Python is using an external library for SAX (expat IIRC).
    I *guess* the Python that comes with Blender don't have this library.
    Its probably a stupid question but thanks anyway!
    He who asks is a fool for five minutes, but he who does not ask
    remains a fool forever.
    - Chinese Proverb

    HTH,
    --
    Miki <miki.tebeka@gm ail.com>
    If it won't be simple, it simply won't be. [Hire me, source code]

    Comment

    • manu

      #3
      Re: trying to use sax for a very basic first xml parser

      On Jul 14, 8:14 pm, Miki <miki.teb...@gm ail.comwrote:

      Python is using an external library for SAX (expat IIRC).
      I *guess* the Python that comes with Blender don't have this library.
      >
      I don't know... I didnt install any external libraries for sax. I
      think python comes with a standard sax library.
      And before I had python installed Blender said at startup:
      "Compiled with Python version 2.5.
      Checking for installed Python... No installed Python found.
      Some scripts will not run. Continuing happily"

      After installing Python 2.5.2 it now says:
      "Compiled with Python version 2.5.
      Checking for installed Python... got it!"
      So I think it is using the installed Python.

      Could it be that I have to install the same python version Blender was
      compiled with?

      Comment

      • Miki

        #4
        Re: trying to use sax for a very basic first xml parser

        Hello,
        Could it be that I have to install the same python version Blender was
        compiled with?
        I have no idea.

        May I suggest you ask in the blender list?

        HTH,
        --
        Miki <miki.tebeka@gm ail.com>
        If it won't be simple, it simply won't be. [Hire me, source code]


        Comment

        • manu

          #5
          Re: trying to use sax for a very basic first xml parser

          >
          May I suggest you ask in the blender list?
          >
          Will do that and report back. Thank you!

          Manuel

          Comment

          Working...