如何将具有属性的 XML 转换为 R 中的数据框?

How to convert an XML with attributes into a data frame in R?

我有一个 XML 文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<text>
<book id="1">
<sentence id="1">lorem ipsum</sentence>
<sentence id="2">lorem ipsum</sentence>
<sentence id="3">lorem ipsum</sentence>
</book>

<book id="2">
<sentence id="1">lorem ipsum</sentence>
<sentence id="2">lorem ipsum</sentence>
<sentence id="3">lorem ipsum</sentence>
</book>
</text>

如何将此 XML 文件转换为 R 中的数据框,如下所示:

book sentence-num sentence
1         1       lorem ipsum
1         2       lorem ipsum   
1         3       lorem ipsum
2         1       lorem ipsum
2         2       lorem ipsum   
2         3       lorem ipsum
library(xml2)

book  <- xml_find_all( myxml, "//book") %>% xml_attr("id")
sentence_num <- xml_find_all( myxml, "//sentence") %>% xml_attr("id")
sentence <- xml_find_all( myxml, "//sentence") %>% xml_text()

out <- data.frame(book,sentence_num,sentence) 

out <- out[order(out$book,out$sentence_num),]

#    book sentence_num    sentence
#        1            1 lorem ipsum
#        1            2 lorem ipsum
#        1            3 lorem ipsum
#        2            1 lorem ipsum
#        2            2 lorem ipsum
#        2            3 lorem ipsum