如何将具有属性的 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
我有一个 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