Tag: xml

如何使用Nokogiri将两个XML文件合并为一个?

我有两个XML文件,并希望合并它们,但不应更改已存在的标记: XML 1: 8 XML 2: 9999 John Smith 我希望结果是这样的: 8 John Smith 以前的标签应该具有相同的值,但添加了新的标签。 这可能使用Nokogiri吗? 怎么样? 起初我试过没有Nokogiri使用: xml1 = Hash.from_xml(‘ 8 ‘) 但是当我转换回xml(xml1.to_xml)时,我的格式错误: “\n\n \n sdu:x\n \n 8\n \n \n\n” 使用Nokogiri,我想出了这个解决方案,但实际上,它是如此丑陋而且有一个bug。 如果xml2没有元素,它将崩溃: require ‘nokogiri’ s = “8” xml1 = Nokogiri::XML.parse s s2 = “9John” xml2 = Nokogiri::XML.parse s2 def node_list elem, &proc return [] unless […]

使用Nokogiri :: XML :: Builder附加元素

我有以下代码: builder = Nokogiri::XML::Builder.new(:encoding => ‘UTF-8’) do |xml| xml.myRoot do |xml| xml.oneChild xml.anotherChild end end 现在我想使用构建器将一些子节点附加到myRoot(第二步,我知道如何立即附加它们)。 我怎样才能做到这一点? 我试过这个: node = builder.doc.xpath(‘//myRoot/oneChild’).first Nokogiri::XML::Builder.with(node) do |xml| xml.childOfOneChild ‘Im a child of oneChild’ end 哪个不起作用。 他们不会坚持元素,它只是一个空的oneChild。

在Ruby中执行XSL转换的最佳方法(XSLT 2.0)

在Ruby中执行XSL转换的最佳和最有效的方法是什么? 我尝试了Nokogiri,但无论我尝试了什么,它总会导致: compilation error: element stylesheet 样式表在我的XML编辑器中完美运行。 我在Linux上使用Ruby 1.9.3。 在探索之后,我发现Nokogiri不支持XSLT 2.0: Nokogiri使用libxml2,它只支持XPath 1.0 / XSLT1.0 我的样式表是使用XSLT 2.0语法编写的。 我更新了这个问题的标题以反映这一点。 我希望Nokogiri以更有意义的方式回应它。 为什么要执行XSL转换? 只是好奇。 我正在开发一个向其他网站提交XML Feed的网站。 每个Feed都有不同的格式,但Feed的数据来源是相同的。 因此,我决定使用从数据库提供的XSL样式表,而不是为每个Feed编写自定义代码。 这样我就可以通过上传新的样式表来创建新的Feed。

如何使用Nokogiri获取XML文档的根元素名称?

使用Nokogiri,我想确定根元素的名称。 我认为对/做一个XPath查询可以做到这一点,但显然节点名称是“文档”? require ‘nokogiri’ doc = Nokogiri::XML(‘Hello’) doc.xpath(‘/’).first.name # => “document” doc.xpath(‘/foo’).first.name # => “foo” 如何在不事先知道根节点名的情况下获取字符串“foo”?

使用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标签?

我正在尝试使用Nokogiri构建XML文档。 到目前为止,一切都很标准; 我的大多数代码看起来像: builder = Nokogiri::XML::Builder.new do |xml| … xml.Tag1(object.attribute_1) xml.Tag2(object.attribute_2) xml.Tag3(object.attribute_3) xml.Tag4(nil) end builder.to_xml 但是,这会导致像而不是这样的 ,这是我的最终用户指定输出所需的标记。 如何告诉Nokogiri将全部标签放在零值附近?

如何在Ruby中将JSON转换为XML?

有没有办法在Ruby中将JSON转换为XML?

在Ruby中规范化XML

我正在使用Ruby / Rails开发SAML网关,并且我正在尝试编写一些代码来validation传入SAML响应的xml数字签名与原始服务的x509证书。 我的问题:签名依赖于经过哈希处理然后签名的XML的规范化版本,我无法找到一个ruby lib / gem,它将根据规范规范化XML。 我在rubyforge上发现了一个超级老gem,但是如果像nokogiri这样的function支持这种function我会更感兴趣(来自nokogiri docs,它没有)。 我已经广泛搜索过,但我想在这里问一下是否有人有任何好的见解,然后我去尝试编写我自己的版本或重做现有的c14n-r库。

使用Nokogiri将div嵌套在div元素中

对于以下HTML,我想解析它并使用Nokogiri得到以下结果。 event_name = “folk concert 2” event_link = “http://www.douban.com/event/12761580/” event_date = “20th,11,2010″ 我知道doc.xpath(‘//div[@class=”nof clearfix”]’)可以获取每个div元素,但是我应该如何继续获取每个属性,例如event_name ,尤其是date ? HTML folk concert 2 Date:25th,11,2010 folk concert Date:10th,11,2010

如何使用多行字符串示例比较Cucumber步骤中的xml输出?

Chargify在他们的文档中有这个Cucumber场景。 Scenario: Retrieve a customer via my reference id (as an integer or simple string) Given I have a customer with these attributes | reference | first_name | last_name | email | | 7890 | Joe | Blow | joe@example.com | When I send a GET request to https://[@subdomain].chargify.com/customers/lookup.xml?reference=7890 Then the response status should be […]