class Xlsxrb::Ooxml::SharedStringsParser
SAX-based parser for xl/sharedStrings.xml. Returns an Array of strings (index = SST index).
Public Class Methods
(String, ?part_name: String) ?{ (Event) → void } → void
(String, ?part_name: String) → Enumerator[Event, void]
Source
# File lib/xlsxrb/ooxml/shared_strings_parser.rb, line 22 def self.each_event(xml_string, part_name: "xl/sharedStrings.xml", &block) return enum_for(:each_event, xml_string, part_name: part_name) unless block return if xml_string.nil? || xml_string.empty? listener = EventListener.new(part_name, &block) XmlParser.parse(xml_string, listener) end
Yields Event objects for each shared string.
# File lib/xlsxrb/ooxml/shared_strings_parser.rb, line 11 def self.parse(xml_string, part_name: "xl/sharedStrings.xml") return [] if xml_string.nil? || xml_string.empty? strings = [] each_event(xml_string, part_name: part_name) do |event| strings << event.args[0] if event.type == :sst_item end strings end
Parses all shared strings and returns an Array of strings.