lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Dec 9, 2007, at 1:39 PM, peterhickman wrote:

I did a little test with '<root>some text<nested>text</nested>some more text</root>' and all I got back was { root={ ["$"]="some more text", nested={ ["$"]="text" } } }. The problem is the any xml element can have multiple elements of the same name/type.

As per BadgerFish's "What's broken and/or left to do?":

1. BadgerFish throws away the text content of elements if the text content is entirely whitespace. It also doesn't provide a way to get the different text bits in an element whose content is a mix of text and children (e.g. <p>Some text <strong>is important</strong>.</p>). Perhaps those different text bits should be made available in $1, $2, etc.

Also '<root><name>Tom</name><name>Dick</name><name>harry</name></ root>' seems to return some unexpected results, { root={ name={ { ["$"]="Tom" }, { ["$"]="Dick" }, { ["$"]="harry" } } } }.

That looks reasonable. What where you expecting instead?

Am I trying to use this code beyond what it was designed for?

Perhaps... But aside from the "mix of text and children" issue noted above, it works rather alright for simple XML. Also, note that CDATA are not handled presently.

Here is a different mapping technic:

"Converting Between XML and JSON"