XPath를 처음 사용합니다.R XML + XPath - 여러 조건이있는 getNodeSet
문제 구조의 여지가없는 요소 내 목표 페이지에 XPath를 추출하는 데.
데이터 세트
뉴저지 학교 report cards입니다. 작업 추가 식별 많은 정보가없는 경우url <- paste("http://education.state.nj.us/rc/rc11/rcreport.php?c=",
all_sch[i,1],";d=",all_sch[i,2],";s=",all_sch[i,3],sep = '')
doc = htmlParse(url)
admin_salaries = getNodeSet(doc, '//table[@summary="Administrative Salaries and Benefits"]')
하지만 문제가 있어요 : 개별 성적표 내가 summary
태그가 테이블을 당겨하는 방법을 알아 냈어요 this
처럼 떨어져. 예를 들어
, 학교 이름과 지역이있는 테이블은 다음과 같습니다
<table cellpadding="0" cellspacing="0">
<tr>
<td><strong>SCHOOL:</strong></td>
<td> New Jersey Ave</td>
</tr>
<tr>
<td><strong>COUNTY:</strong></td>
<td> Atlantic</td>
</tr>
<tr>
<td><strong>DISTRICT:</strong></td>
<td> Atlantic City</td>
</tr>
</table>
내 전략은 여기에 테이블이며, I 등의 COUNTY
Reading만큼 텍스트가 노드를 찾아 '이었다
names = getNodeSet(doc,'//table and //*[contains(text(),"COUNTY")]')
을하지만 그 대신 테이블 노드를 다시 반환, 그것은 나에게 부울을 제공합니다 : XPath에 대해, 나는 이것을 시도하고 있습니다값.
그래서, 질문은 : 가 어떻게 텍스트 COUNTY 학교가 테이블을 찾기 위해 XPath를 사용할 수 있습니까?
나는 거의 소용이 다른 전략을 많이 시도했습니다. 다른 사람에 의해 제안 한 가지 방법은 다음과 같이 사용하여 모든 테이블 데이터 셀을 꺼내 간단했다 :
xpathApply(htmlTreeParse(url, useInt=T), "//td", function(x) xmlValue(x))
을하지만 템플릿은 데이터 누락 일치하지 않습니다 - 불완전한 보고서는 매우 다른 구조를 가지고 있고, 요소에없는 2,000 개 이상의 페이지에서 같은 위치.
도움을 주시면 대단히 감사하겠습니다. XPath를 사용하여
작품을 얻으려면 모든 테이블을 얻을 수 있습니다. 감사! – Andrew