It has to know how to turn what you return from the read method into JSON. It has logic for models, querysets etc but if it doesn't have specific handling for the type it falls back on django's smart_Unicode. My guess is that the smart_Unicode for an lxml node is an empty string.
You can fix this either by converting the node to a relevant string or structure that piston does know how to render in the read() method and returning that, or by tweaking emitters.py in the construct() method to handle lxml nodes.
Hth
Malcolm
Sent from my iPhone, please excuse any typos
> --
> You received this message because you are subscribed to the Google Groups "django-piston" group.
> To post to this group, send email to django...@googlegroups.com.
> To unsubscribe from this group, send email to django-pisto...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/django-piston?hl=en.
>