繁体   English   中英

Ruby-使用Nokogiri解析XML

[英]Ruby - Parsing XML with Nokogiri

我对XML并不熟悉,并试图使网络自动化有所发展。 我得到一些类似以下的XML响应,并尝试将其转换为哈希或易于使用的某种东西。 我不知道我做错了什么。 我得到如下所示的输出。

任何人都可以将我推向一个方向吗? 我尝试了nokogiri文档和指南,但是有点迷茫。

我的资料:

"show ip int brief vrf all | xml\r\n" +
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n" +
"<nf:rpc-reply xmlns:nf=\"urn:ietf:params:xml:ns:netconf:base:1.0\" xmlns=\"http://www.cisco.com/nxos:1.0:ip\">\n" +
" <nf:data>\n" +
"  <show>\n" +
"   <ip>\n" +
"    <interface>\n" +
"     <__XML__BLK_Cmd_ip_show_interface_command_brief>\n" +
"      <__XML__OPT_Cmd_ip_show_interface_command_operational>\n" +
"       <__XML__OPT_Cmd_ip_show_interface_command_vrf>\n" +
"        <__XML__OPT_Cmd_ip_show_interface_command___readonly__>\n" +
"         <__readonly__>\n" +
"          <TABLE_vrf>\n" +
"           <ROW_vrf>\n" +
"            <vrf-name-out>management</vrf-name-out>\n" +
"           </ROW_vrf>\n" +
"          </TABLE_vrf>\n" +
"          <TABLE_intf>\n" +
"           <ROW_intf>\n" +
"            <intf-name>mgmt0</intf-name>\n" +
"            <prefix>10.70.237.15</prefix>\n" +
"            <ip-disabled>FALSE</ip-disabled>\n" +
"            <iod>316</iod>\n" +
"            <proto-state>up</proto-state>\n" +
"            <link-state>up</link-state>\n" +
"            <admin-state>up</admin-state>\n" +
"           </ROW_intf>\n" +
"          </TABLE_intf>\n" +
"         </__readonly__>\n" +
"        </__XML__OPT_Cmd_ip_show_interface_command___readonly__>\n" +
"       </__XML__OPT_Cmd_ip_show_interface_command_vrf>\n" +
"      </__XML__OPT_Cmd_ip_show_interface_command_operational>\n" +
"     </__XML__BLK_Cmd_ip_show_interface_command_brief>\n" +
"    </interface>\n" +
"   </ip>\n" +
"  </show>\n" +
" </nf:data>\n" +
"</nf:rpc-reply>\n" +


2.4.1 :363 > doc = Nokogiri::XML(my_data)
 => #<Nokogiri::XML::Document:0x173dda8 name="document"> 
2.4.1 :364 > doc.elements
 => [] 

删除<?xml version=\\"1.0\\" encoding=\\"ISO-8859-1\\"?> XML声明之前的所有内容-在这种情况下,请省略"show ip int brief vrf all | xml\\r\\n"线。

解析完文档后,请按照官方搜索指南进行操作 -对于初学者恕我直言,最好避免使用Xpath并只使用.css选择器,如果您曾经做过CSS或Jquery,这将很容易掌握。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM