2009-11-24 2 views
1

정말 간단한 xml 문서 (HTML 테이블에서 추출한 문서)와 매우 간단한 Nokogiri 스크립트가 있습니다. xml 노드에서 텍스트를 가져올 수없는 몇 가지 이유가 있습니다. 속성은 얻을 수 있지만 텍스트/내용은 가져올 수 없습니다. 누구든지 다음에 무엇이 잘못 될 수 있는지 알 수 있습니까?Nokogiri :: XML :: Reader가 'content'또는 'text'메서드를 인식하지 못하는 것 같습니다.

<?xml version="1.0" encoding="UTF-8"?> 
<table class="renderedtable" border="1" cellpadding="2" cellspacing="0" width="100%"> 
    <tr> 
    <th valign="top"> 
    <p class="MsoNormal"> AIR CONDITIONING, VENTILATION &amp; HEATING</p> 
    </th> 
    </tr> 
</table> 

그리고 "정의되지 않은 메서드 '내용'"

require 'nokogiri' 

a = IO.read('services_table.xml') 

reader = Nokogiri::XML::Reader(a) 

reader.each do |node| 

    if node.name == 'p' 

    @category = node.content 

    end 
end 

답변

3

Nokogiri::XML::Reader

reader.each { |node| 
    p node.inner_xml if node.name=="p" 
} 

Nokogiri.each 인스턴스들을 반환하지 Nokogiri::XML::Node

+0

타다 !!! Mr. Kirushik (고맙습니다). – btelles

+0

Mr. Kirushik은 Kirill (Кирилл)에서 파생되었습니다. 남성용 러시아어 이름입니다. 두 이름 모두 Firefox에서 여전히 밑줄이 그어져 있습니다. 그 말은 나에게 공통점이없는 이름이 외국에있는 것에 관한 조언을 해줍니다. 반갑습니다. – kirushik

+0

감사합니다. 하지만 이것이 문서에없는 이유에 대해 궁금합니다. – Bob

0

편집 제기 세계에서 간단한 스크립트를 다음 Nokogiri doc을 확인 얻었다을

다음은 XML입니다. node.methods을 사용하면 value이라는 메서드가 표시되며 content 대신 사용할 메서드 인 것으로 보입니다.

+0

아니 주사위를 사용해보십시오. 값은 nil을 반환합니다. -/... 예, node.methods.sort를 시도해 보았습니다. 모든 availabe 것을 살펴보고 여러 번 시도했습니다. – btelles