Exemple #1
0
from __future__ import print_function
xml_file = 'ipo.xml'

import pyxb.binding.saxer
import ipo


def ShowOrder(order):
    print('%s is sending %s %d thing(s):' %
          (order.billTo.name, order.shipTo.name, len(order.items.item)))
    for item in order.items.item:
        print('  Quantity %d of %s at $%s' %
              (item.quantity, item.productName, item.USPrice))


if False:
    import pyxb.utils.domutils
    xmld = pyxb.utils.domutils.StringToDOM(open(xml_file).read())
    dom_value = ipo.CreateFromDOM(xmld.documentElement)
    ShowOrder(dom_value)

saxer = pyxb.binding.saxer.make_parser()
handler = saxer.getContentHandler()
saxer.parse(open(xml_file))
ShowOrder(handler.rootObject())
Exemple #2
0
from __future__ import print_function
import pyxb
import ipo
import xml.dom.minidom
import time
import io

xmld = open('ipo.xml', 'rb').read()

order = ipo.CreateFromDOM(
    xml.dom.minidom.parse(io.BytesIO(xmld)).documentElement)

print(
    '%s is sending %s %d thing(s):' %
    (order.billTo().name(), order.shipTo().name(), len(order.items().item())))
for item in order.items().item():
    print('  Quantity %d of%s at $%s' %
          (item.quantity(), item.productName(), item.USPrice()))

# Give Mary more
try:
    item.setQuantity(100)
except pyxb.SimpleTypeValueError as e:
    print('Too many: %s' % (e, ))
    item.setQuantity(10)
print('Increased quantity to %d' % (item.quantity(), ))
Exemple #3
0
import pyxb
import ipo
import xml.dom.minidom
import time

xml_text = file('ipo.xml').read()

order = ipo.CreateFromDOM(
    xml.dom.minidom.parseString(xml_text).documentElement)

print '%s is sending %s %d thing(s):' % (
    order.billTo().name(), order.shipTo().name(), len(order.items().item()))
for item in order.items().item():
    print '  Quantity %d of%s at $%s' % (item.quantity(), item.productName(),
                                         item.USPrice())

# Give Mary more
try:
    item.setQuantity(100)
except pyxb.BadTypeValueError, e:
    print 'Too many: %s' % (e, )
    item.setQuantity(10)
print 'Increased quantity to %d' % (item.quantity(), )