以下のサンプル構造の XML ファイルからデータを抽出しようとしています。
<pwx creator="PerfPRO" version="1.0">
<workout>
<athlete></athlete>
<title></title>
<sportType>Bike</sportType>
<cmt></cmt>
<device id=""></device>
<time>2016-01-19T08:01:00</time>
<summarydata>
<beginning>0</beginning>
<duration>3600.012</duration>
</summarydata>
<segment>
<summarydata>
<beginning>0</beginning>
<duration>120</duration>
</summarydata>
</segment>
<segment>
<summarydata>
<beginning>120</beginning>
<duration>120</duration>
</summarydata>
</segment>
<segment>
<summarydata>
<beginning>240</beginning>
<duration>120</duration>
</summarydata>
</segment>
「セグメント」ブロック (開始と期間の両方) のデータに、理想的にはデータ フレームとしてアクセスしたいと考えています。多数のセグメント ブロックがあります。
私は多くのことを試しましたが、まだそれを抽出できないようです。取得できるのは空のリストだけです。これが私が行ったことです(pwxはファイル名です):
xmlData <- xmlInternalTreeParse(pwx, useInternalNodes = TRUE)
xmltop = xmlRoot(XMLdata)
d <- xpathSApply(doc = xmlData, path = "//pwx/workout/segment/summarydata/beginning", fun = xmlValue)
また、次の方法ですべてのセグメントにアクセスできるようです。
segment <- xmltop[[1]]["segment"]
しかし、値を取得できないようです。上記のさまざまなバリエーションを試しました。
どんな助けでも大歓迎です、ありがとう。
編集:
> summary(xmlData)
$nameCounts
cad dist hr pwr sample spd timeoffset beginning
3274 3274 3274 3274 3274 3274 3274 16
duration summarydata segment athlete cmt device make model
16 16 15 1 1 1 1 1
name pwx sportType time title workout
1 1 1 1 1 1
$numNodes
[1] 22992