2011-09-22 9 views
5

में जिम्मेदार बताते हैं यहाँ कोड मैं का उपयोग कर रहा है:प्रवेश एचटीएमएल Nokogiri

location = block.xpath("*/img") 
puts location 

और यह आउटपुट:

<img src="/images/p.gif" height="1" width="0"> 

मुझे क्या करना चाहते हैं एचटीएमएल से बाहर चौड़ाई विशेषता प्राप्त है, लेकिन मुझे वह काम भी नहीं मिल रहा है। मुझे लगता है कि मुझे अपने कोड में कहीं ['width'] डालना होगा, और मैंने ऑनलाइन विभिन्न उदाहरणों का पालन करने की कोशिश की है लेकिन इसे काम नहीं कर सका।

उत्तर

6

इस XPath Tutorial से xpath वाक्यविन्यास पर एक नज़र डालें।

block.at_xpath("*/img")["width"], या */img/@width का प्रयास करें यदि केवल एक तत्व है।

+0

मुझे लगता है कि तुम्हारा मतलब '*/img/@ width'। –

+0

ओह। मैंने ठीक कर दिया। – aus

+0

@Micheal, हाँ उस छोटे से संपादन के साथ यह बहुत अच्छा काम किया। मुझे लगता है कि उसके पहले उदाहरण में भी एक अतिरिक्त माता पिता है। –

12

CSS चयनकर्ताओं का आसान और अधिक पठनीय हो जाते हैं:

puts block.at('img')[:height] 
+2

या 'block.at_css ('img') [: ऊंचाई] 'या बस' block.at ('img') [: ऊंचाई]'। – Phrogz

+0

हां! मुझे याद नहीं आया कि उस विधि को क्या कहा गया था। पोस्ट अपडेट किया गया। –

संबंधित मुद्दे