![]() |
1
1
您可以使用builder而不是创建to-xml方法,也可以使用xmlsimple将XML文件拉入散列,而不是使用from-xml方法。不幸的是,我不确定你是否真的能从这些技巧中得到那么多。 |
![]() |
2
1
我建议首先使用xmlsimple。在输入文件上运行xmlsimple xml_-in之后,会得到一个散列。然后可以递归到它(obj.instance_变量)中,并转换所有内部哈希(element.is_a?(hash))到同名对象,例如:
也许可以找到一种更清洁的方法来做这件事。 之后,如果要从这个新对象生成XML,可能需要更改xmlsimple XML以接受另一个选项,该选项将对象与通常用作参数接收的散列区分开来,然后必须将xmlsimple value的版本写入xml m方法,因此它将调用访问器方法,而不是尝试访问哈希结构。另一个选择是,通过返回所需的实例变量,让所有类都支持[]运算符。 |
![]() |
3
0
是否可以定义一个缺少的方法,使您可以执行以下操作: @巴=埃尔巴?这样可以去掉一些样板。如果总是这样定义bat,可以将xpath推送到initialize方法中,
hpricot或rexml也有帮助。 |
![]() |
4
0
你能试试吗 parsing the XML with hpricot 然后使用输出构建一个普通的老ruby对象?[免责声明]我没试过。 |
![]() |
5
0
我将子类attr_accessor来为您构建to_xml和from_xml。 类似这样的东西(注意,这不是完全的功能,只是一个大纲)
你可以用它像…
希望能给大家一个大概的印象。 |