.docx
文件是压缩的XML文件。如果执行此操作:
> uzfil <- unzip(file.choose())
然后选择
.docx文件
文件,您将得到:
> str(uzfil)
chr [1:13] "./[Content_Types].xml" "./_rels/.rels" "./word/_rels/document.xml.rels" ...
> uzfil
[1] "./[Content_Types].xml" "./_rels/.rels" "./word/_rels/document.xml.rels"
[4] "./word/document.xml" "./word/theme/theme1.xml" "./docProps/thumbnail.jpeg"
[7] "./word/settings.xml" "./word/webSettings.xml" "./word/styles.xml"
[10] "./docProps/core.xml" "./word/numbering.xml" "./word/fontTable.xml"
[13] "./docProps/app.xml"
这也将以静默方式将所有这些文件解压缩到您的工作目录中。这个
"./word/document.xml"
文件中有您要查找的单词,所以您可能可以使用包XML中的一个XML工具来读取它们。我猜你会这样做:
library(XML)
xtext <- xmlTreeParse(unz(uzfil[4]), useInternalNodes = TRUE) )
实际上,您可能需要将其保存到一个临时目录中,并将该路径添加到文件名“./word/document.xml”中。
您可能想在这个答案中使用@GaborGrothendieck提供的进一步步骤:
How to extract xml data from a CrossRef using R?