Tag: sax

Sax解析与nokogiri的奇怪的元素

我想在nokogiri中进行sax-parse,但是当涉及到解析xml元素时,它会有一个长而疯狂的xml元素名称或属性…然后变得疯狂。 Fore instans如果我想解析这个xml文件并获取所有title元素,我该如何使用nokogiri-sax。 Arkivvetenskap Archival science

使用SAX Parser获取多个子节点?

我有一个大型本地XML文件(24 GB),其结构如下: **** **** (several times within an id…) 我需要这样的结果: id1;url1 id1;url2 id1;url3 id2;url4 …. 我想将Nokigiri与SAX Parser或Reader一起使用,因为我无法将整个文件加载到内存中。 我正在使用Ruby Rake任务来执行代码。 我的SAX代码是: task :fetch_saxxml => :environment do require ‘nokogiri’ require ‘open-uri’ class MyDocument < Nokogiri::XML::SAX::Document attr_accessor :is_name def initialize @is_name = false end def start_element name, attributes = [] @is_name = name.eql?("id") end def characters string string.strip! […]

open-uri和sax解析一个巨大的xml文档

我需要连接到外部XML文件进行下载和处理(300MB +)。 然后运行XML文档并将元素保存在数据库中。 我已经在使用Saxerator的生产服务器上做这个没有问题,对内存温和。 它很棒。 这是我的问题 – 我需要使用open-uri(尽管可能有替代解决方案?)来抓取文件进行解析。 这个问题是open-uri必须在任何开始解析之前加载整个文件,这违背了使用SAX Parser节省内存的所有目的……任何解决方法? 我可以从外部XML文档中读取吗? 我无法加载整个文件或它崩溃我的服务器,因为文档每30分钟更新一次,我不能只在我的服务器上保存它的副本(虽然这是我目前正在做的事情,以确保一切工作正常)。 我正在做这个Ruby,ps