REXML是Ruby内置轻量级XML库,适合简单至中等复杂度场景;支持字符串/文件解析、XPath查找、属性文本读写及XML构建输出,但需注意大小写敏感、命名空间和空白节点处理。

REXML 是 Ruby 自带的轻量级 XML 处理库,无需额外安装,开箱即用。它适合读写简单到中等复杂度的 XML,语法直观、上手快,但不适合超大文件或高性能场景(这时建议用 Nokogiri 或 Ox)。
解析 XML 字符串或文件
用 REXML::Document 加载 XML 内容,支持字符串、IO 对象或文件路径:
- 从字符串解析:
doc = REXML::Document.new("<root><item id="1">A</item></root>") - 从文件解析:
doc = REXML::Document.new(File.open("data.xml"))或更安全地用File.read:doc = REXML::Document.new(File.read("data.xml"))
遍历和查找元素
常用方法有 root、elements、each 和 XPath 风格的 get_elements:
-
doc.root获取根节点(REXML::Element实例) -
doc.root.elements['item']获取第一个<item></item>子元素 -
doc.root.elements.to_a转成元素数组,方便迭代 - 用 XPath 查找:
doc.get_elements("//item[@id='1']")→ 返回匹配的元素集合
读取属性和文本内容
元素对象提供直观的方法访问结构信息:
标签: 字符串解析
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~