다음과 같이 간단하지만 거대한 XML 파일이 있습니다. SAX를 사용하여 구문 분석하고 title
태그 사이의 텍스트 만 인쇄하고 싶습니다.nokogiri에서 SAX를 사용하여 XML을 파싱 할 때 XML을 검색하는 방법
<root>
<site>some site</site>
<title>good title</title>
</root>
나는 다음과 같은 코드가 있습니다 :
require 'rubygems'
require 'nokogiri'
include Nokogiri
class PostCallbacks < XML::SAX::Document
def start_element(element, attributes)
if element == 'title'
puts "found title"
end
end
def characters(text)
puts text
end
end
parser = XML::SAX::Parser.new(PostCallbacks.new)
parser.parse_file("myfile.xml")
문제는 모든 태그 사이의 텍스트를 인쇄하는 것입니다. title
태그 사이에 텍스트를 인쇄하는 방법은 무엇입니까?
"거대한"크기는 어느 정도입니까? 내 컴퓨터에서 사용 가능한 RAM보다 큰 파일을 가지고 있기 때문에 SAX를 사용했지만, 요즘에는 RAM을 사용할 수 있으므로 일반적으로 DOM을 사용하여 구문 분석합니다. –
이 질문을 제기 해 주셔서 감사합니다. – Aditya1510