XML ツリーを XML オブジェクトのリストに分割し、関数 getNodeSet を使用したいのですが、戻り値にはルート オブジェクトの「部分」が含まれている必要があります。
require(XML)
txt = "<doc>
<part>
<name>ABC</name>
<type>XYZ</type>
<cost>3.54</cost>
<status>available</status>
</part>
<part>
<name>ABC</name>
<type>XYZ</type>
<cost>3.54</cost>
<status>available</status>
</part>
</doc>"
doc <- xmlTreeParse(txt, useInternalNodes = TRUE)
special_nodes <- getNodeSet(doc, "/*/part//*")