
代码示例:
在Ruby中,可以使用Nokogiri库来创建和解析XML文件。以下是一个详细的示例,展示如何使用Nokogiri来创建和解析XML文件。
创建XML文件
require 'nokogiri'
# 创建一个新的XML文档
builder = Nokogiri::XML::Builder.new do |xml|
xml.root {
xml.books {
xml.book {
xml.title "The Great Gatsby"
xml.author "F. Scott Fitzgerald"
xml.year "1925"
}
xml.book {
xml.title "To Kill a Mockingbird"
xml.author "Harper Lee"
xml.year "1960"
}
}
}
end
# 将XML内容写入文件
File.open('books.xml', 'w') do |file|
file.write(builder.to_xml)
end
解析XML文件
require 'nokogiri'
# 读取XML文件
file = File.read('books.xml')
doc = Nokogiri::XML(file)
# 解析XML文件
doc.root.each_child do |child|
if child.name == 'books'
child.each_child do |book|
if book.name == 'book'
title = book.at_xpath('title').content
author = book.at_xpath('author').content
year = book.at_xpath('year').content
puts "Title: #{title}, Author: #{author}, Year: #{year}"
end
end
end
end
示例输出
假设books.xml文件内容如下:
<?xml version="1.0"?>
<root>
<books>
<book>
<title>The Great Gatsby</title>
<author>F. Scott Fitzgerald</author>
<year>1925</year>
</book>
<book>
<title>To Kill a Mockingbird</title>
<author>Harper Lee</author>
<year>1960</year>
</book>
</books>
</root>
运行解析代码后,输出如下:
Title: The Great Gatsby, Author: F. Scott Fitzgerald, Year: 1925
Title: To Kill a Mockingbird, Author: Harper Lee, Year: 1960
关键点说明
-
创建XML文件:
- 使用
Nokogiri::XML::Builder来构建XML文档。 - 使用嵌套的代码块来定义XML结构。
- 使用
to_xml方法将构建的XML内容转换为字符串,并写入文件。
- 使用
-
解析XML文件:
- 使用
Nokogiri::XML读取XML文件。 - 使用
at_xpath方法获取特定节点的内容。 - 遍历XML文档的节点,提取所需信息。
- 使用
后续操作建议
- 安装Nokogiri库:如果尚未安装
Nokogiri,可以使用以下命令安装:gem install nokogiri - 扩展功能:可以根据需要扩展XML结构和解析逻辑,例如添加更多书籍信息或处理更复杂的XML结构。
请根据您的具体需求调整代码。
更多技术文章见公众号: 大城市小农民
7651

被折叠的 条评论
为什么被折叠?



