我有两个基本相同结构的XML文件。但是,xmlToList不会返回其中一个文件的XML值。以下是有效的示例:
library(XML)
doc1 <- xmlParse("http://www.wnba.com/games/game_component/dynamic/20130527/CHIPHO/pbp_all.xml")
node1 <- getNodeSet(doc1, path="/")
l1 <- xmlToList(node1[[1]])
l1[[1]][[1]][[1]]
$text
[1] "<![CDATA[(10:00)Start Period]]>"
$.attrs
eventid prd game_clock htms vtms msg_type action_type player_code
"1" "1" "10:00" "0" "0" "12" "0" ""
tm
"mercury"
以下是没有的示例:
doc2 <- xmlParse("http://www.nba.com/games/game_component/dynamic/20130528/MIAIND/pbp_all.xml")
node2 <- getNodeSet(doc2, path="/")
l2 <- xmlToList(node2[[1]])
l2[[1]][[1]][[1]]
[[1]]
NULL
$.attrs
eventid prd game_clock htms vtms msg_type action_type player_code
"0" "1" "12:00" "0" "0" "12" "0" ""
tm
"pacers"
我希望看到(12:00)Start Period
而不是NULL
。我在这里缺少什么?
答案 0 :(得分:1)
第二个文件存在两个问题:
<
和>
代替<
和>
>event>
而不是在</event>
eventid="185"
我已将更正后的XML放入pastebin:
> doc3 <- xmlParse("http://pastebin.com/raw.php?i=LkwZmqmw")
> node3 <- getNodeSet(doc3, path="/")
> l3 <- xmlToList(node3[[1]])
> l3$message$game[[1]]
$text
[1] "<![CDATA[(12:00)Start Period]]>"
$.attrs
eventid prd game_clock htms vtms msg_type action_type player_code tm
"0" "1" "12:00" "0" "0" "12" "0" "" "pacers"