草庐IT

Nokogiri

全部标签

ruby-on-rails - 如何验证大 XML

我正在尝试使用Nokogiri针对XSD验证XML文件。当文件很小时,我使用文档方法验证:xsd=Nokogiri::XML::Schema(File.read(Rails.root.join('files/xsd',self::XSD)))xml=Nokogiri::XML(File.read(Rails.root.join('public/uploads',file_path)))xsd.validate(xml).eachdo|error|end当文件很大时,前面的方法不好用,因为需要很多资源,所以需要文件方法验证:xsd=Nokogiri::XML::Schema(File.r

ruby - 使用命名空间获取 XML 属性的值

我在解析pptx文件时遇到了问题。这是源XML的示例:我需要获取sldMasterId标签中的r:id属性值。doc=Nokogiri::XML(path_to_pptx)doc.xpath('p:presentation/p:sldMasterIdLst/p:sldMasterId').attr('id').value返回2147483648但我需要rId2,这是r:id属性值。我找到了attribute_with_ns(name,namespace)方法,但是doc.xpath('p:presentation/p:sldMasterIdLst/p:sldMasterId').att

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

我有两个XML文件并想合并它们,但不应更改已经存在的标签:XML1:8XML2:9999JohnSmith我希望结果是这样的:8JohnSmith之前的标签应该具有相同的值,但添加了新的值。可以使用Nokogiri吗?怎么办?起初我尝试在没有Nokogiri的情况下使用:xml1=Hash.from_xml('8')但是当我转换回xml(xml1.to_xml)时,我得到了错误的格式:"\n\n\nsdu:x\n\n8\n\n\n\n"使用Nokogiri,我想出了这个解决方案,但实际上,它太丑了,而且有一个错误。如果xml2没有元素,它将崩溃:require'nokogiri's="

ruby - 如何获取具有包含冒号的特定属性的节点?

我正在寻找一种方法来查找具有特定属性的元素节点并找到:"UseNokogiritogetallnodesinanelementthatcontainaspecificattributename"但是,当属性有冒号时它不起作用,例如中的“foo:bar”(是的,它有效)。但是,当我使用:elements=@doc.xpath("//*[@foo:bar]")我得到:unexpected':'after'#'(Nokogiri::CSS::SyntaxError)而且,当我使用时:elements=@doc.xpath("//*[@foo\\:bar]")我得到:Invalidpredic

ruby - 如何使用 Nokogiri SAX 解析器检索 XML 元素的值?

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭7年前。Improvethisquestion如何使用NokogiriSAX解析器访问嵌套元素的文本值?require'nokogiri'xml=http://www.example.com/example-sitemap.xmleosclassMySAXDoc

ruby-on-rails - 使用 Nokogiri 解析具有多个值的节点的 XML

我不太清楚XML语法是什么,所以我会放两种类型的XML,请指出好的。我有一个XML,它有一个具有多个值的节点:案例一:http://static.elefant.ro/images/26/95226/husa-belkin-grip-pentru-kindle-3-ebook-reader-albastru_1_categorie.jpghttp://www.keenthemes.com/preview/metronic/theme/assets/global/plugins/jcrop/demos/demo_files/image1.jpg案例二:http://static.elef

html - 如何使用 Nokogiri::XML::Builder 将非转义符号添加到 HTML

我想使用Nokogiri中的XML生成器向HTML添加项目符号“•”之类的内容,但所有内容都被转义了。如何防止它被转义?我希望结果是:•而不是:•我只是这样做:xml.span{xml.text"•\"}我错过了什么? 最佳答案 如果你定义classNokogiri::XML::Builderdefentity(code)doc=Nokogiri::XML("&##{code};")insert(doc.root.children.first)endend然后这个builder=Nokog

ruby - 如何整理 ruby​​ 中格式错误的 xml

我在整理格式错误的XML代码时遇到问题我从SEC'sedgardatabase返回.出于某种原因,它们的xml格式非常糟糕。包含任何类型字符串的标签不会被关闭,它实际上可以在其他标签中包含其他xml或html文档。通常我会把这个关闭到Tidy但这并没有得到维护。我尝试过使用Nokogiri::XML::SAX::Parser,但由于标签未关闭,这似乎令人窒息。它似乎工作正常,直到它到达第一个结束标签,然后它不再触发它们。但它会吐出正确的字符。classFiling这似乎是最好的选择,因为我可以让它忽略其他xml或html文档。这也是最有意义的,因为其中一些文档可能会变得非常大,因此将整

ruby - xpath 挑战 : How to merge multiple results into one result

我使用Ruby1.9.3p385并使用Nokogiri来解析XML文件。不太确定我使用的是哪个xpath版本,但它确实响应v.1语法/函数,而不是v.2语法。我有这个XML文件:Producttitle1Productattribute1Producttitle2Productattribute2我想提取所有产品,为此我使用了这段代码:products=xml_file.xpath("/root_tag/middle_tag/item_tag/headline_1|/root_tag/middle_tag/item_tag/headline_2")putsproducts.size#=

xml - 用于查找没有其他元素引用它们的元素的 XPath

给定以下XML文档.........我如何编写一个XPath1.0表达式来查找所有没有的元素引用它们的元素?在此示例中,结果应为#a和#c.基于thisquestion我试过//e[not(//x[@ref=concat("#",@id)])],但这并没有省略引用的元素:#RubycodeusingNokogiriputsdoc.xpath('//e[not(//x[@ref=concat("#",@id)])]')#=>#=>#=>有没有办法利用搜索结果中的某个属性进一步查询其他元素中其他属性的值? 最佳答案 来自这个XML这个X