Tag: xml parsing

搜索savon响应为nokogiri文档返回一个空数组

我尝试将savon的回复解析为nokokiri文件 c = Savon.client(wsdl: ‘http://test.fedresurs.ru/MessageService/WebService.svc?wsdl’, digest_auth: [‘demowebuser’, ‘Ax!761BN’], namespace: “http://tempuri.org/”, namespace_identifier: :tem, log: true) r = c.call(:get_trade_messages, message: {‘tem:startFrom’ => DateTime.now-1}) r.doc.search(“TradePlace”) 它返回一个空数组。 我做错了什么? 可能我应该以某种方式处理命名空间? 但是,怎么样? 我在nokogiri文档中找到的示例使用Xpath,而不是搜索。 即使使用Xpath,它也会返回一个空数组。 XML响应:

Nokogiri :: XML.parse应该为换行创建单独的Text节点吗?

我有一个外部工具创建的XML文档: S1 First Suite section 1 C1 Test 1.1 Other 4 – Must Test C2 Test 1.2 Other 4 – Must Test 从irb,我执行以下操作:(输出被抑制直到最终命令) > require(‘nokogiri’) > doc = Nokogiri::XML.parse(open(‘./test.xml’)) > test_case = doc.search(‘case’).first => #<Nokogiri::XML::Element:0x3ff75851bc44 name="case" children=[#, #<Nokogiri::XML::Element:0x3ff75851b7bc name="id" children=[#]>, #, #<Nokogiri::XML::Element:0x3ff75851b078 name="title" children=[#]>, #, #<Nokogiri::XML::Element:0x3ff75851a970 name="type" children=[#]>, #, #<Nokogiri::XML::Element:0x3ff7585190d4 name="priority" children=[#]>, #, #, #, […]

如何获取savon gem中特定操作的输入列表

有没有办法从savon gem中的wsdl文件获取特定操作的输入(参数)列表? https://github.com/savonrb/savon

在将XML转换为Ruby哈希时保持属性

我有一个我想要解析的大型XML文档。 在本文档中,许多标签具有不同的属性。 例如: Do Re Mi 目前,我通过要求’active_support/core_ext/hash’来使用Rail的散列解析库。 当我将其转换为哈希时,它会删除属性。 它返回: {“album”=>{“song-name”=>”Do Re Mi”}} 如何维护这些属性,在本例中为type=”published”属性? 这似乎之前曾在“ 如何使用from_xml转换为哈希值时使用XML属性? ”中提出这个问题,但是没有确定的答案,但这是从2010年开始的,我很好奇自那时以来情况是否发生了变化。 或者,我想知道您是否知道解析此XML的另一种方法,以便我仍然可以包含属性信息。

如何使用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对象,以便稍后在轨道上使用。

使用Ox使用cdata生成XML?

我需要使用ox生成XML,但是没有从文档中获得太多帮助。 我需要像这样生成XML: Programmer Analyst 3-IT Romania,Bucharest… US class technology to develop. 我将标签内的数据作为变量中的字符串,如下所示: jobtitle = “Programmer Analyst 3-IT” and so on… 我目前正在使用Nokogiri生成XML,但我需要处理大数据,并且出于性能考虑,我正在转向Ox。 关于如何做到这一点的任何想法?

如何让Nokogiri解析并返回XML文档?

这是一些奇怪的例子: #!/usr/bin/ruby require ‘rubygems’ require ‘open-uri’ require ‘nokogiri’ print “without read: “, Nokogiri(open(‘http://weblog.rubyonrails.org/’)).class, “\n” print “with read: “, Nokogiri(open(‘http://weblog.rubyonrails.org/’).read).class, “\n” 运行此返回: without read: Nokogiri::XML::Document with read: Nokogiri::HTML::Document 没有read返回XML,并且它是HTML? 网页被定义为“XHTML过渡”,所以起初我认为Nokogiri必须从流中读取OpenURI的“内容类型”,但返回’text/html’ : (rdb:1) doc = open((‘http://weblog.rubyonrails.org/’)) (rdb:1) doc.content_type “text/html” 这是服务器返回的内容。 所以,现在我想弄清楚为什么Nokogiri会返回两个不同的值。 它似乎不是解析文本并使用启发式方法来确定内容是HTML还是XML。 该页面指向的ATOM提要也发生了同样的事情: (rdb:1) doc = Nokogiri.parse(open(‘http://feeds.feedburner.com/RidingRails’)) (rdb:1) doc.class Nokogiri::XML::Document (rdb:1) doc = Nokogiri.parse(open(‘http://feeds.feedburner.com/RidingRails’).read) (rdb:1) doc.class Nokogiri::HTML::Document […]

尝试使用nokogiri获取xml文件中的cdata标记内容

我已经看到了几件事,但到目前为止似乎没有任何工作。 我正在使用rails 3 ruby​​ 1.9.2上的nokogiri通过url解析xml。 xml的片段如下所示: 我试图解析这个以获取与NewsLineText相关联的文本 r = node.at_xpath(‘.//newslinetext’) if node.at_xpath(‘.//newslinetext’) s = node.at_xpath(‘.//newslinetext’).text if node.at_xpath(‘.//newslinetext’) t = node.at_xpath(‘.//newslinetext’).content if node.at_xpath(‘.//newslinetext’) puts r puts s ? if s.blank? ‘NOTHING’ : s puts t ? if t.blank? ‘NOTHING’ : t 我得到的回报是 NOTHING NOTHING 所以我知道我的标签被正确命名/拼写以获取newslinetext数据,但是cdata文本永远不会出现。 我需要用nokogiri来获取此文本?