0

R での XML に関するこのチュートリアルに取り組んでいるときに、次のコードに出くわしました。

xml.url <- "http://www.w3schools.com/xml/plant_catalog.xml"
xmlfile <- xmlTreeParse(xml.url)
xmltop <- xmlRoot(xmlfile)
plantcat <- xmlSApply(xmltop, function(x) xmlSApply(x, xmlValue))

最初の 3 行は理解できますが、私の人生では、最後の行は理解できません。誰かが私にそれを説明できますか?関数(x)があるのはなぜですか?

4

2 に答える 2

1

xmlSApplyこれらのメソッドは、lapplyおよびsapply関数の単純なラッパーです。

リスト内の各要素に対して、関数を適用します。

xmlSApply(listXml,func)

xmlSApplyここでの例は、 func を定義するために別のものを使用しているため、少し複雑です。

たとえば、ここでは、xmltop の最初の要素は次のとおりです。

x = <PLANT>
  <COMMON>Bloodroot</COMMON>
  <BOTANICAL>Sanguinaria canadensis</BOTANICAL>
  <ZONE>4</ZONE>
  <LIGHT>Mostly Shady</LIGHT>
  <PRICE>$2.44</PRICE>
  <AVAILABILITY>031599</AVAILABILITY>
</PLANT>

xmlSApply(x, xmlValue) を適用する場合:

COMMON                BOTANICAL                     ZONE                    LIGHT                    PRICE             AVAILABILITY 
"Bloodroot" "Sanguinaria canadensis"                      "4"           "Mostly Shady"                  "$2.44"                 "031599" 
于 2013-11-02T18:13:45.410 に答える
0

xmlSApply() の単純な使用法では、ドキュメントにアクセスし (ドキュメントを提供し)、xmlName、xmlValue などを使用してドキュメントの詳細を見つけると理解できます。 xmlSApply(X, FUN, ...)

詳細はこちら: http://www.inside-r.org/packages/cran/XML/docs/xmlApply

詳細な使用方法については、私のブログのこの投稿を参照してください: http://hodentekhelp.blogspot.com/2016/07/how-do-you-get-at-details-of-xml.html

于 2016-07-05T21:29:10.183 に答える