ITPUB??ì3
ITPUB论坛 » 动态语言 » [问题]ruby怎么写一个简单的xml文件?

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: [问题]ruby怎么写一个简单的xml文件?
离线 44sizi
中级会员



精华贴数 0
个人空间 0
技术积分 1146 (1559)
社区积分 0 (1032063)
注册日期 2006-7-15
论坛徽章:0
      
      

发表于 2006-8-7 13:17 
[问题]ruby怎么写一个简单的xml文件?

上网找了老半天,发现相关的资料太少了。
require "employee.rb"
require "rexml/document"
def writeAllEmployee employeelist
doc = REXML:ocument.new File.new("mydoc.xml"
rootElement = Element.new "dept"
doc.add_element(nil,rootElement)
doc.write
end

是这样写的吗?能给个例子我吗?


只看该作者    顶部
离线 四紫
中级会员



精华贴数 0
个人空间 0
技术积分 1244 (1395)
社区积分 0 (1032049)
注册日期 2006-7-15
论坛徽章:0
      
      

发表于 2006-8-7 13:20 
确实用xml build生成xml文件操作非常简单。
但是我用来和rexml配合来使用的时候就出问题了,
比如我通过
doc.elements.each("dept/employee" {
|element|
...
#使用到了
element.each_child {
...
...
}
...
}
来读取 xml内容的时候,如果 xml的格式是如下:
<dept><employee><name>jingle</name></employee></dept>
的时候是没出现问题的,
但是用xml builder生成的xml文件是:
<dept>
<employee>
<name>jingle</name>
</employee>
</dept>
在标签和标签中似乎出现了"\n "字符,导致报错
/handler.rb:47:in `readByid': undefined method `name' for "\n ":REXML::Text (NoMethodError)

请问这个问题应该怎么解决?
后来把element.each_child换成element.each_element就行了。
但是为什么会这样呢?each_child就会发现“\n "这个字符?


只看该作者    顶部
离线 四紫
中级会员



精华贴数 0
个人空间 0
技术积分 1244 (1395)
社区积分 0 (1032049)
注册日期 2006-7-15
论坛徽章:0
      
      

发表于 2006-8-7 13:21 

只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问