2016-06-13 6 views
0

私はWebから簡単なXML解析をしようとしていますが、私はいくつかの障害物に当たっているようです。私が手スタイル情報のないXMLの解析?

library(XML) 
url <- c("http://www.boardgamegeek.com/xmlapi/boardgame/173346?stats=1") 
xml <- xmlTreeParse(url, encoding = "UTF-8", isURL=TRUE) 

::私は古典的なXML構文解析を行うにしようとした場合

Unknown encoding "UTF-8" 
Error: 1: Unknown encoding "UTF-8" 

を私はすでにエンコーディングを指定したようにもかかわらず、それはそうです。サイトからXMLを見ると、トップにはスタイル情報はなく、とにかくドキュメントツリーが表示されているという。私が代わりにhtmlParseを行うにしようとすると、

file <- htmlTreeParse(url, encoding = "UTF-8", isURL=TRUE) 

私が取得:

Error in which(value == defs) : 
argument "code" is missing, with no default 

は、私がここに欠けている明白なものはありますか?

答えて

2

あなたはそれが長期的にはより簡単rvestxml2に移動するかもしれない:答えのための

library(rvest) 
library(dplyr) 
library(purrr) 

pg <- read_xml("http://www.boardgamegeek.com/xmlapi/boardgame/173346?stats=1") 

xml_nodes(pg, xpath="//name") %>% xml_text() 

xml_nodes(pg, xpath="//description") %>% xml_text() 

xml_nodes(pg, xpath="//boardgamehonor") %>% xml_text() 

xml_nodes(pg, xpath="//name[@primary='true' and @sortindex=1]") %>% xml_text() 

html_nodes(pg, xpath=".//ranks/rank") %>% 
    xml_attrs() %>% 
    map(~as_data_frame(as.list(.))) %>% 
    bind_rows() 
+0

感謝を。もう1つ質問:欄には情報がありますが、返品はできません。 タグからxml文字列を返す方法はありますか? – AI52487963

+1

HTML/XMLを少し刷新する必要があるかもしれません。これらは拡張機能として質問しているかなり基本的な質問ですが、HTML/XMLの知識を前提に答えを見つけるのはかなり簡単です。あなたは、その根本的な根本的な理解をもって、最後の方が良いでしょう。 – hrbrmstr

関連する問題