0
我打算從網頁中加載下面提到的xml,然後想從中讀取特定節點。過濾條件:如果「displayname」屬性包含「isc-asr901a」,它應該選擇第一個節點並返回屬性「id」節點ethernetProtocolEndpointExtendedDTO」如何從網頁加載xml文件並從xml讀取特定節點?
<queryResponse type="EthernetProtocolEndpoint">
<entity >
<ethernetProtocolEndpointExtendedDTO id="2283315" displayName="4c2b8aa7[2275273_isc- asr901a,GigabitEthernet0/0]">
<name>GigabitEthernet0/0</name>
<adminStatus>UP</adminStatus>
</ethernetProtocolEndpointExtendedDTO>
</entity>
<entity >
<ethernetProtocolEndpointExtendedDTO id="2283315" displayName="4c2b8aa7[2275273_isc-asr901a,GigabitEthernet0/0]">
<name>GigabitEthernet0/0</name>
<adminStatus>UP</adminStatus>
</ethernetProtocolEndpointExtendedDTO>
</entity>
</queryResponse>
我打算做到這一點使用紅寶石。但我是新來的紅寶石的價值。有人能幫助我完成這一點。通過使用解析器我可以很容易地做到這一點?我用的下面代碼來執行此操作但代碼不返回任何值。
strurl = "https://.."
doc = Nokogiri::HTML(open(strurl))
doc.xpath('//queryResponse/entity/ethernetProtocolEndpointDTO[@displayName="[^"]*isc-asr901a[^"]*]').each do |node|
puts node['id']
end
謝謝, Chandana