2016-03-22 8 views
3

Der Versuch, diese XML-Datei zu analysieren: http://data.fcc.gov/api/block/find?latitude=48.9905&longitude=-122.2733&showall=falservest nicht extrahieren nicht selbstschließenden XML-Knoten

rvest/xml2 Nähte nicht die Knoten richtig zu erkennen:

require(rvest) #which uses xml2 internally 
doc <- read_xml("http://data.fcc.gov/api/block/find?latitude=48.9905&longitude=-122.2733&showall=false") 
> doc 
{xml_document} 
<Response> 
[1] <Block FIPS="530730102002091"/> 
[2] <County FIPS="53073" name="Whatcom"/> 
[3] <State FIPS="53" code="WA" name="Washington"/> 

Der Versuch, die zu erhalten Landkreis Knoten i tat - was zu einem Fehler (keine Spiele)

doc %>% xml_node("County") # Error: No matches 

Ich versuchte es auch über read_html und httr::GET mit beiden kombiniert: read_html und read_xml ... Alle Idea`

P. S .: Das Beispiel von hier genommen wird: Parsing an XML response to a query. Ich habe versucht, diese eine über rvest

Antwort

5

zu lösen doc einen Namespace hat, xmlns, können Sie es mit xml_ns untersuchen können, und verwenden Sie das Präfix in Ihrem XPath,

xml_find_one(doc, "//d1:County", xml_ns(doc)) 
+0

Dank! Gibt es eine Möglichkeit, rvest mit einem Namespace zu verwenden? Also, um einen CSS-Selektor mit anstelle des XPath zu verwenden – Rentrop

+0

Ich weiß nicht, wie es aussieht, könnte möglich sein, aber ich bin nicht sicher, tut mir leid – jenesaisquoi

+0

Vielen Dank für diese Xpath-Lösung – Rentrop

Verwandte Themen