2009-09-06 14 views
1

J'utilise Visual FoxPro 9 sur Vista dans le compte d'administrateur. Je suis en train d'exécuter le programme suivant:Classe XMLAdapter dans Visual FoxPro 9

cFile = "c:\XMLAdapter\CustomerXML.xml" 
adapter = CREATEOBJECT("XMLAdapter") 
adapter.LoadXML(cFile,.T.) 
adapter.Tables(1).ToCursor() 

J'ai copié ce programme verbatim (sauf pour modifier le chemin du fichier XML) d'un article dans le Code Magazine (Converting XML to VFP Cursors Using the XMLAdapter). Lorsque je l'exécute, j'obtiens l'erreur suivante: L'index ou l'expression ne correspond pas à un membre existant de la collection. Il plante sur la dernière ligne du programme.

Dans le même article, il y a aussi ce programme:

cFile = "c:\XMLAdapter\EmployeeXML.xml" 
OPEN DATABASE (_samples+"\northwind\northwind") 
SELECT employeeid, lastname ; 
FROM Employees; 
INTO CURSOR curEmployees 
adapter = CREATEOBJECT("XMLAdapter") 
adapter.AddTableSchema("curEmployees") 
adapter.ToXML(cFile,,.T.) 

Cela fonctionne parfaitement.

Je l'apprécierais vraiment, si quelqu'un pouvait m'aider à comprendre pourquoi le premier programme plante?

Merci

Répondre

0

La classe XMLAdapter est pointilleux sur les types de XML qu'il acceptera. Je ne vois pas de lien vers un fichier qui représente c: \ XMLAdapter \ CustomerXML.xml dans l'article, y en a-t-il un que je n'ai pas vu ou est-ce juste utilisé à des fins de démonstration? S'il n'y en a pas, je suppose que vous avez créé votre propre fichier XML valide: analyser le fichier produit par votre deuxième exemple de code devrait suffire à créer quelque chose d'acceptable pour le XMLAdapter.

Si vous voulez la documentation et des exemples de XMLAdapter, les liens en haut sur une Google books search vous aideront

+0

Merci! C'était ça. La méthode adapter.Tables (1) .ToCursor() a été capable de lire dans le fichier ExmployeeXML.xml qui a été créé en utilisant la méthode adapter.ToXML (cFile ,,. T.) Du second programme. Je vais maintenant étudier la structure du fichier ExmployeeXML.xml. (En ce moment, je trouve que j'ai plus de succès avec l'importation de fichiers XML en utilisant la fonction XMLToCursor.) –