2012-01-25 17 views
1

XMLファイルDemoFeed.XMLがあり、XMLパッケージと関数xmlToDataFrameを使用してデータフレームに取り込もうとしています。しかし、私はエラーメッセージを取得しています。エラー:XMLコンテンツはXMLではないようです、またファイル名XMLファイルをデータフレームにインポートする

<demo_feed> 
<TimeStamp>20090610153000</TimeStamp> 
<XAU Bid="952.2" Ask="953.0"/> 
<XAG Bid="15.17" Ask="15.22"/> 
<XPT Bid="1266" Ask="1271"/> 
<XPD Bid="256" Ask="261"/> 
<EUR Bid="1.3993" Ask="1.3996"/> 
</demo_feed> 

私はあなたの助けのために感謝されるを識別します。

敬具、

アダム

+1

この関数をどのように呼びますか?ファイル名(または既に解析されたXML文書)が必要であり、そのようなファイルがないというエラーメッセージが表示されます。さらに、ノードの属性ではなくノードの内容のみを取得します。これ以上の作業が必要な場合があります。 –

+0

私はそれを試したことはありませんが、おそらく[XMLパッケージ](http://cran.r-project.org/web/packages/XML/index.html) – Justin

+2

を使うことができます。これはクリーンな方法でフォーマットされていません。xmlToDataFrame xmlTreeParseを代わりに使用する必要があると考えています。 – Hansi

答えて

4

Hansiのさんのコメントが正しいです。これを行う方法の1つです:

> doc = xmlParse('demofeed.xml') 
> data.frame(t(xpathSApply(doc, 
     '/demo_feed/*[@Bid]', 
     function(x) c(name=xmlName(x), xmlAttrs(x))))) 

    name Bid Ask 
1 XAU 952.2 953.0 
2 XAG 15.17 15.22 
3 XPT 1266 1271 
4 XPD 256 261 
5 EUR 1.3993 1.3996 
+0

それは素晴らしいです。ご助力ありがとうございます。 –

関連する問題