2016-12-19 5 views
1

구문 분석하는 HTML 코드에서 문자열에 파이프 구분 기호를 어떻게 추가합니까?Ruby에서 빵 부스러기를 구문 분석하는 방법

HTML :

<div class="container"> 
    <div class="results"> 
    <div class="row"> 
     <div class="col"> 
     <nav class="breadcrumb-nav"> 
      <ol class="breadcrumb"> 
      <li> 
       <a href="/">Home Page</a> 
      </li> 
      <li> 
       <a href="link">Category Name</a> 
      </li> 
      <li> 
       <a href="link">Sub Category Name</a> 
      </li> 
      <li> 
       <a href="link">Another Sub Category Name</a> 
      </li> 
      <li class="highlight"> 
       <a href="link">Current Sub Category Page Name</a> 
      </li> 
      </ol> 
     </nav> 
     </div> 
    </div> 
    </div> 
</div> 

내 코드 :

puts page.xpath(".//*[@class='breadcrumb']//a").text 

디스플레이 :

홈 PageCategory NameSub 카테고리 NameAnother 하위 카테고리의 NameCurrent 하위 카테고리 페이지 이름

표시된대로 표시 하시겠습니까?

홈페이지 | 카테고리 이름 | 하위 카테고리 이름 ...

답변

2

당신은 다음 구분에 가입, 개별 요소의 텍스트를 가지고 가야 :

page.xpath(".//*[@class='breadcrumb']//a").map(&:text).join(' | ') 
+0

감사합니다. – vladz

0

더 나은 여전히; CSS를 사용하여 구분 기호를 스타일링하십시오. 글리프 (glyphs)를 구분 기호로 사용하는 것은 잘못된 접근성입니다.

+0

루비는 여전히 나에게 매우 새롭고 몇 년 동안 코딩하지 않았다. 데비드에게 모범을 보이겠습니까? – vladz

+0

항목을 구분하는 방법으로 '키보드 문자'를 사용하면 화면 판독기에서 항목을 읽을 수 있습니다. 따라서, .crumbitem {border-left : 1px solid green;}과 같은 것을하는 것이 더 좋습니다. 또는 원하는만큼 멋지게 표현할 수 있습니다. :) –

+0

또는 글꼴 굉장 체크 아웃. :) –