Я использую Nokogiri с Саксом для синтаксического анализа файла XML:Nokogiri Sax Parser возвращает массив
@active_ids = Nokogiri::XML::SAX::Parser.new(IdParser.new).parse(open("https://s3.eu-central-1.amazonaws.com/redacted/client_xml.xml"))
Внутри парсер, я строю массив идентификаторов и хотел бы вернуть их после того, как анализатор сделано:
def initialize
@array_of_ids = []
end
def start_element(name, attrs = [])
@array_of_ids << attrs[0][1].to_s if name == "job"
end
def end_document
return @array_of_ids
end
К сожалению, возвращаемый массив равен nil (я попробовал предоставить простую строку, тот же результат). Есть ли проблема в предоставлении возвращаемого значения? Как я могу общаться с моим парсером?
Пожалуйста, разместите свой код преобразования массива ... и образец xml ... –
Пожалуйста, прочтите «[mcve]». Нам нужна минимальная программа и минимальные данные, которые демонстрируют проблему в самом вопросе. Нам также нужно знать ваш ожидаемый результат. –