0
XMLパッケージを使用してメタデータを抽出しています。ここに著者名を抽出するための素晴らしいソリューションが見つかりました:https://www.r-bloggers.com/microsoft-office-metadata-with-r/。 私はこれを取得するコードの最初の行の使用:XMLパッケージを使用してファイルからR日付を抽出します。
library(XML)
doc <- xmlInternalTreeParse('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dc:title>CHR-nr</dc:title>
<dc:subject/>
<dc:creator>XXXXXX</dc:creator>
<cp:keywords/>
<dc:description/>
<cp:lastModifiedBy>XXXXXX</cp:lastModifiedBy>
<cp:revision>1</cp:revision>
<cp:lastPrinted>2013-03-22T12:16:00Z</cp:lastPrinted>
<dcterms:created xsi:type="dcterms:W3CDTF">2013-03-22T12:13:00Z</dcterms:created>
<dcterms:modified xsi:type="dcterms:W3CDTF">2013-03-22T12:24:00Z</dcterms:modified>
</cp:coreProperties>', asText=TRUE)
を、私はこれらの行から情報を抽出したい:
<dcterms:created xsi:type="dcterms:W3CDTF">2013-03-22T12:13:00Z</dcterms:created>
<dcterms:modified xsi:type="dcterms:W3CDTF">2013-03-22T12:24:00Z</dcterms:modified>
次のコードを使用して(私は例として、最後の行を使用します。 ):
ns=c('dcterms'= 'http://purl.org/dc/elements/1.1/')
date = xmlValue(getNodeSet(doc, '/*/dcterms:modified\ xsi:type=\"dcterms:W3CDTF\"', namespaces=ns)[[1]])
が、私はこのエラーを取得:
XPath error : Invalid expression
/*/dcterms:modified xsi:type="dcterms:W3CDTF"
^
Error in xpathApply.XMLInternalDocument(doc, path, fun, ..., namespaces = namespaces, :
error evaluating xpath expression /*/dcterms:modified xsi:type="dcterms:W3CDTF"
>
誰かが正しいパスを書き込むのに役立つことができますか?
それは働いた。ありがとう! :)しかし、なぜあなたは名前空間の設定を変更する必要がありますか?私はそれについてもっと読むことができる場所はありますか?もう一度ありがとうございます。 –
XML文書では名前空間を使用しているため、xpathクエリでもそのように定義する必要があります。これはR固有のものではありませんが、このガイドが概要を示すのに役立つかもしれません:https://msdn.microsoft.com/en-us/library/ms950779.aspx – MrFlick