[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: XML parser with DOM-like API
- From: Xavier Wang <weasley.wx@...>
- Date: Tue, 11 Oct 2011 15:21:30 +0800
2011/10/11 Michal Kottman <email@example.com>:
> On 10 October 2011 22:30, Florian Weimer <firstname.lastname@example.org> wrote:
>>> On 10 October 2011 09:13, Eike Decker <email@example.com> wrote:
>>>> I am not aware of an xml lib that provides a simple access in Lua. What you
>>>> could consider however is to use Lua Expat  and use this to create a dom
>>>> like access pattern that matches exactly your needs. I think the required
>>>> code for this would be acceptably short and simple. It would probably come
>>>> closer to your actual needs than any existing library.
>>> http://matthewwild.co.uk/projects/luaexpat/lom.html - I'm not sure it
>>> can get much simpler (except something like XPath maybe...).
>> I would use a different encoding: node for the tag, node to
>> node[#node] for the children, and node[attr] for the value of the
>> attribute attr (a string). This works because the order of attributes
>> does not matter.
> This is very similar to what I use in my little utility module WDM
> (Web Data Mining) . It helps to save a lot of (IMHO unnecessary)
> I use the following "encoding":
> * node - node[#node] - children of the node
> * node[attr] - the node attribute (like div.style or link.href)
> * node.tag - the HTML tag, because 'tag' is not used as an attribute
> in (X)HTML, could be modified to 'xml' in case of XML files
>  https://github.com/mkottman/wdm
I just used following "encoding":
* node or node.tagName - the HTML tag.
* array part of node - the children of node, the child is a table or string.
* hash part of node - the attribute of node.