2014-06-09 4 views
11

के लिए फ़ंक्शन 'saveXML' के लिए विरासत विधि प्राप्त करने में असमर्थ एक xml फ़ाइल को पार्स करने का प्रयास करते समय मुझे हमेशा यह त्रुटि मिलती है।हस्ताक्षर '' वर्ण ''

एक साधारण स्क्रिप्ट यह पुन: पेश करने:

doc <- xmlRoot(xmlTreeParse("http://www.stat.purdue.edu/~mdw/490M/cdcatalog.xml")) 

xpathSApply(doc, "//CATALOG/CD/PRICE", xmlValue) 

Error in (function (classes, fdef, mtable) : 
unable to find an inherited method for function ‘saveXML’ for signature ‘"character"’ 

निम्न पैकेज लोड किए गए हैं:

sessionInfo() 
R version 3.1.0 (2014-04-10) 
Platform: x86_64-apple-darwin13.1.0 (64-bit) 

locale: 
[1] de_DE.UTF-8/de_DE.UTF-8/de_DE.UTF-8/C/de_DE.UTF-8/de_DE.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] XML_3.98-1.1 

loaded via a namespace (and not attached): 
[1] tools_3.1.0 
+0

में शामिल किया तो मुझे यह त्रुटि तब मिलती है जब मैं saveXML() – userJT

+0

का उपयोग करने का प्रयास करता हूं, मुझे यह समस्या भी थी। मुझे लगता है कि ऐसा इसलिए था क्योंकि 'xmlValue' एक पुनरावर्ती कार्य है, और जब आप' रिकर्सिव 'को' FALSE' 'नहीं बदलते हैं, तो फ़ंक्शन नोड के अंत तक सभी मार्गों पर जाता है, जहां एक वर्ण स्ट्रिंग होती है। –

उत्तर

0
doc <- xmlParse("http://www.stat.purdue.edu/~mdw/490M/cdcatalog.xml") 

यह करना चाहिए ...

27
url <- "http://www.stat.purdue.edu/~mdw/490M/cdcatalog.xml"  
doc <- xmlRoot(xmlTreeParse(url, useInternalNodes = TRUE)) 
xpathSApply(doc, "//CATALOG/CD/PRICE", xmlValue) 

मैं इस बारे में सोच नामस्थान के संकल्प के साथ करना है। useInternalNodes = xpath के लिए getNodeSet()

1

का उपयोग करने के लिए TRUE आवश्यक है, मैंने एक ही त्रुटि प्राप्त करने के लिए सब कुछ किया। लेकिन मुझे एहसास हुआ कि मुझे उपयोग किया गया है आंतरिक नोड्स = TRUE। जब मैंने इसे

+0

इसे थूकना! ;-) – Robert

संबंधित मुद्दे