3

R を使用して XML ファイルを読み取り、いくつかのノードを選択して別の XML に書き戻そうとしています。R で XML ファイルを処理する方法を学んでいます。このリンクの例を参照してください。 com/r-and-the-web-for-beginners-part-ii-xml-in-r/」では、XML を読み取って選択したノードを出力する方法について説明しています。上記の例を拡張したい - 「プラント」ノードの範囲 (インスタンス 1 から 5 まで) を選択し、それを別の XML に保存したい

入力 XML ファイルは次のようになります。

<?xml version="1.0"?>
<CATALOG>
 <PLANT>
  <COMMON>Bloodroot</COMMON>
  <BOTANICAL>Sanguinaria canadensis</BOTANICAL>
  <ZONE>4</ZONE>
  <LIGHT>Mostly Shady</LIGHT>
  <PRICE>$2.44</PRICE>
  <AVAILABILITY>031599</AVAILABILITY>
 </PLANT>
 <PLANT>
  <COMMON>Columbine</COMMON>
  <BOTANICAL>Aquilegia canadensis</BOTANICAL>
  <ZONE>3</ZONE>
  <LIGHT>Mostly Shady</LIGHT>
  <PRICE>$9.37</PRICE>
  <AVAILABILITY>030699</AVAILABILITY>
 </PLANT>
 .
 .
 <CATALOG>

次のコードがあります

library(XML)
xml.url <- "http://www.w3schools.com/xml/plant_catalog.xml"
xmlfile <- xmlTreeParse(xml.url)
xmltop <- xmlRoot(xmlfile)
saveXML(xmltop[1:5],file="out.xml")

しかし、R はエラー メッセージ「(関数 (クラス、fdef、mtable) のエラー: 署名 '"XMLNodeList" の関数 'saveXML' の継承されたメソッドが見つかりません。
注: 完全な XML を書き込もうとすると (" saveXML(xmlroot,file="out.xml")") 正常に動作しますが、サブセットを書き込もうとしたときにのみ失敗します。

4

1 に答える 1