Tag: xml

使用JRuby(Hpricot?)解析XML,使用之类的标签

我试图在JRuby中使用这样的元素来使用一些遗留XML: content 我一直在使用Hpricot,但是Hpricot的面向HTML的快捷方式正在对我不利: doc.search(“//with.dot”)似乎正在寻找 (几年前我也遇到过JQuery这个问题。) 我可以用Hpricot做这个,还是我需要使用不同的库?

使用Ruby,我如何确认XML snippit是否有效?

正如你们中的一些人所知,我正在为StackOverflow聊天系统进行XMPP(Jabber)集成 ,作为使用xmpp4r软件包在Ruby中编写的XMPP组件。 我正在努力解决一个问题(好吧,很多问题,但目前只有一个问题 :-)我正在从聊天中获取JSON提要并提取消息的HTML。 我正在使用Ruby TidyHTML绑定将HTML从JSON转换为XHTML,因此我可以将其作为XMPP消息发送 – 因为XMPP消息只是XML,将HTML转换为XHTMl应该使它成为有效的XML,我可以只需坚持节即可。 对于大多数消息 ,它工作得很好! 但是对于其他消息,它完全窒息 – XMPP服务器关闭流并且脚本停止运行。 (和酒馆里的其他人一起感到不安。好吧,也许不会沮丧 ,但他们会嘲笑我。这让我感到难过!) 我几乎可以肯定,由于某些原因,消息是有效的XML,因此XMPP服务器正在关闭连接,因为它遇到来自Ruby组件的XML流中的解析错误。 以下是一个此类消息的示例: <div class="onebox ob-message"><a class="roomname" href="https://stackoverflow.com/transcript/message/263372"><span title="2010-11-04 19:20:23Z">1 hour ago</span></a>, by <span class="user-name">Fosco</span> <br/><div class="quote"><div class="room-mini"><div class="room-mini-header"><h3><img class="small-site-logo" title="Gaming" alt="Gaming" width="16" height="16" src="http://sstatic.net/gaming/img/favicon.ico" />&nbsp;<span class="room-name"><a href="http://chat.stackexchange.com/rooms/28/minecraft-talk">Minecraft Talk</a></span></h3><div class="room-mini-description">Everything Minecraft, including classic and survival mode</div></div><div class="room-current-user-count" title="current users">9</div><div class="mspark" style="height:25px;width:205px"> […]

从标记中提取HTML5数据属性

我想从标签中提取所有HTML5数据属性,就像这个jQuery插件一样 。 例如,给定: Joe Bloggs 我想得到一个哈希: { ‘data-age’ => ’50’, ‘data-location’ => ‘London’ } 我最初希望使用通配符作为我的CSS选择器的一部分,例如 Nokogiri(html).css(‘span[@data-*]’).size 但似乎不支持。

如何使用Nokogiri从Yaml文件创建XML?

我想阅读并打开.yml文件并使用Nokogiri创建XML? 谁能告诉我怎么做? 这是Yaml格式: getOrderDetails: Id: ‘114’ Name: ‘XYZ’ 这是我需要的XML: 123 xyz 这是ruby文件: require ‘nokogiri’ require ‘rubygems’ require ‘spec/spec_helper’ require ‘yaml’ @doc = YAML.load(File.open(File.expand_path(‘/Workspace/XML_Parsing/getDetails_api.yml’‌​))) @doc = File.open(‘/Workspace/XML_Parsing/getDetails_api.yml’) builder = Nokogiri::XML::Builder.new do |xml| xml.doc { @doc.each do |o| o.doc.child { puts “eval(#{doc(:getDetails([‘Id’]))})” puts “#{doc[‘NameCode’]}” #o.OrderNo #o.EnterpriseCode } end } end puts builder.to_xml

在Nokogiri中选择子节点的绝对最便宜的方法是什么?

我知道有几十种方法可以选择Nokogiri的第一个子元素,但哪个最便宜? 我无法使用Node#children,这听起来非常昂贵。 假设有10000个子节点,我不想触及其他9999个…

有没有办法选择节点的所有内容?

有没有办法选择Nokogiri中节点的所有内容? this is the content of my æøå element 获取/root/element的内容的结果应该是: this is the content of my æøå element 编辑: 似乎解决方案只是使用myElement.inner_html() 。 我遇到的问题实际上是我依赖于旧版本的libxml2,它逃脱了所有特殊字符。

如何使用Nokogiri解析XML并拆分节点值?

我正在使用Nokogiri来解析XML。 doc = Nokogiri::XML(“http://www.enhancetv.com.au/tvguide/rss/melbournerss.php”) 我不确定如何正确地检索节点值。 我正在追踪item父节点下的title , link和description节点。 Toasted TV – TEN – 07:00:00 – 21/12/2011 http://www.enhancetv.com.au/tvguide/ Join the team for the latest in gaming, sport, gadgets, pop culture, movies, music and other seriously fun stuff! Featuring a variety of your favourite cartoons. 我想做的是title.split(“-“) ,这样我就可以将日期和时间字符串转换为有效的DateTime对象,以便稍后在轨道上使用。

是否可以使用Nokogiri :: XML :: Builder 从XML文档中省略处理指令

可能重复: 打印一个XML文档,顶部没有XML标题行 我正在尝试使用Nokogiri :: XML :: Builder创建XML片段,但我找不到任何关于如何排除处理指令的文档( <?xml version=… ) 谁能指出我正确的方向?

Ruby Regexp用于提取XML字符串中的特定元素

我有一个简单的XML字符串,或多或少总是一样的。 我宁愿避免使用XML解析器来处理这么一小段代码,尽管Regexp会有所帮助。 XML字符串如下所示: weblogUpdates.extendedPing Official Google Blog http://googleblog.blogspot.com/ http://googleblog.blogspot.com/ http://googleblog.blogspot.com/atom.xml 我想提取每个参数的值(并保持顺序)。 我提出了/(.*)/xi但是它只是将第一个值变为:/ /

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

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