【发布时间】:2013-05-24 23:31:39
【问题描述】:
我目前在 Ruby 中使用 XmlSimple 使用 xml_in 方法将 XML 转换为哈希。一切都非常好,除了生成的哈希键都是小写的,而 XML 元素名称是混合大小写的。
这是一个例子:
hash = XmlSimple.xml_in( xml_string, { 'KeyAttr' => 'name',
'ForceArray' => false,
'NoAttr' => true,
'KeyToSymbol' => true,
'SuppressEmpty' => "" } )
例如,这个xml:
<aclEntry>
<aclEntryId>Stuff here</aclEntryId>
<principalName>Stuff here</principalName>
</aclEntry>
这个哈希的结果:
{ :aclentryid => "Stuff Here", :principalname => "Stuff here" }
我查看了 XmlSimple 的 documentation,没有看到任何选项表明它可以在文档到哈希的转换中保持大小写混合。
有什么方法可以使用 XmlSimple 在生成的哈希中保持区分大小写?如果没有,是否有替代的 Ruby XML 解析器可以生成像这样保持区分大小写的哈希?
【问题讨论】:
-
我会提交一个错误...解析器的行为非常丑陋...
-
最好的 ruby xml 解析器之一是 nokogiri,在这里查看 nokogiri.org
-
已经有一段时间没有更新了,但是Crack 是一个不错的简单 XML 和 JSON 解析器,可以保留大小写。
标签: ruby case-sensitive xml-simple