首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby:无法使用Libxml-ruby保存文档

Ruby:无法使用Libxml-ruby保存文档
EN

Stack Overflow用户
提问于 2009-04-01 14:46:24
回答 2查看 1.1K关注 0票数 1

在libxml-ruby API文档(http://libxml.rubyforge.org/rdoc/index.html)中,在LibXML::XML::Document下,我尝试了以下操作:

代码语言:javascript
复制
filename = 'something.xml'
stats_doc = XML::Document.new()
stats_doc.root = XML::Node.new('root_node')
stats_doc.root << XML::Node.new('elem1')
stats_doc.save(filename, :indent => true, :encoding => 'utf-8')

..。这导致了这个错误:

代码语言:javascript
复制
parse_stats.rb:26:in `save': can't convert String into Integer (TypeError)

(上面块中的最后一行是第26行)。

我尝试将文件名更改为整数,得到的结果如下:

代码语言:javascript
复制
parse_stats.rb:26:in `save': wrong argument type Fixnum (expected String) (TypeError)

所以我想我需要使用一个字符串,但是字符串似乎不起作用。由于我在Google上似乎找不到任何运行中的libxml-ruby的例子,所以我很困惑。任何帮助都将不胜感激,或者链接到我可以看到libxml-ruby如何用于创建XML文档的任何在线示例。

libxml-ruby 1.1.3 rubygems 1.3.1 ruby 1.8.7

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-01 14:59:49

似乎问题出在编码上。尝试使用XML::Encoding::UTF_8代替"utf-8“。

票数 4
EN

Stack Overflow用户

发布于 2010-01-19 01:04:44

代码语言:javascript
复制
require 'rubygems'
require 'libxml'

filename = 'something.xml'
stats_doc = LibXML::XML::Document.new()
stats_doc.root = LibXML::XML::Node.new('root_node')
stats_doc.root << LibXML::XML::Node.new('elem1')
stats_doc.save(filename, :indent => true, :encoding => LibXML::XML::Encoding::UTF_8)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/705862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档