R에서 Xpath를 사용하여 html 문서의 노드를 검색하려고합니다. 아래 코드에서 노드가 검색 될 때 NULL 또는 NA를 반환하는 방법을 알고 싶습니다. 없는 : 나는 <first-name>
노드 중 하나를 삭제할 수 있다면 나는 저자에 xpathApply()
기능을 실행할 때R 내의 XPath : 노드가 없으면 NA를 반환합니다.
library(XML)
b <- '
<bookstore specialty="novel">
<book style="autobiography">
<author>
<first-name>Joe</first-name>
<last-name>Bob</last-name>
</author>
</book>
<book style="textbook">
<author>
<first-name>Mary</first-name>
<last-name>Bob</last-name>
</author>
<author>
<first-name>Britney</first-name>
<last-name>Bob</last-name>
</author>
<price>55</price>
</book>
<book style="novel" id="myfave">
<author>
<first-name>Toni</first-name>
<last-name>Bob</last-name>
</author>
</bookstore>
'
doc2 <- htmlTreeParse(b, useInternal=T)
xpathApply(doc2, "//author/first-name", xmlValue)
, 내가 4 개 결과를 얻을 것이다,하지만, 나는 xpathApply
함수는 NULL 또는 뭔가를 반환하려면 그 자리에 다른, 나는 그것을 건너 뛰고 싶지 않아. 당신이 뭔가를 할 수
Joe
NA
Britney
Tony
는 R 지원 XPath는 2.0을합니까 ? 또는 단지 1.0? 그것은 최고의 대답을 결정하는 데 도움이 될 것입니다. – LarsH
@LarsH 이미 좋은 답변이 있지만 FYI : SO (R 및 XPath 관련)에 대한 과거 토론에서 1.0 만 지원된다는 사실을 상기합니다. –