just thinking out loud here, but instead of checking the parent node, can we pass in a property in the parent node's reader instead?
So e.g.:

```
"Service": function(node, obj) {
    obj.service = {nameProperty: 'title'};
    this.readChildNodes(node, obj.service);
},
"name": function(node, obj) {
    obj[obj.nameProperty] = this.getChildValue(node);
    delete obj.nameProperty;
}
```