1
我在寻找一个显示使用Nokogiri解析Acrobat XFDF数据的ruby代码片段。是否有解析Acrobat XFDF的Nokogiri示例代码?
我在寻找一个显示使用Nokogiri解析Acrobat XFDF数据的ruby代码片段。是否有解析Acrobat XFDF的Nokogiri示例代码?
那比分析任何其他XML不同:
require 'nokogiri'
xfdf = '<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
<f href="Demo PDF Form.pdf"/>
<fields>
<field name="Date of Birth">
<value>01-01-1960</value>
</field>
<field name="Your Name">
<value>Mr. Customer</value>
</field>
</fields>
<ids original="FEBDB19E0CD32274C16CE13DCF244AD2" modified="5BE74DD4F607B7409DC03D600E466E12"/>
</xfdf>
'
doc = Nokogiri::XML(xfdf)
doc.at('//xmlns:f')['href'] # => "Demo PDF Form.pdf"
doc.at('//xmlns:field[@name="Date of Birth"]').text # => "\n 01-01-1960\n "
doc.at('//xmlns:field[@name="Your Name"]').text # => "\n Mr. Customer\n "
它使用了XML命名空间,所以你必须兑现在的XPath,或者告诉引入nokogiri忽略他们对付它,但是这是常见于XML。
您可以使用[nguyen][1]
宝石做解析工作
xfdf = Nguyen::Xfdf.new(:key => 'value', :other_key => 'other value')
# use to_xfdf if you just want the XFDF data, without writing it to a file puts
xfdf.to_xfdf
# write xfdf file
xfdf.save_to('path/to/file.xfdf')