2009-09-06 135 views
1

我在管理员帐户中使用Vista上的Visual FoxPro 9。我试图执行以下程序:Visual FoxPro中的XMLAdapter类9

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

我逐字复制该程序(除了改变XML文件的路径)从代码杂志的一篇文章(Converting XML to VFP Cursors Using the XMLAdapter)。当我执行它时,出现以下错误:索引或表达式与集合的现有成员不匹配。它在程序的最后一行崩溃。

在同一篇文章中,也有这样的程序:

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.) 

这完美的作品。

我真的很感激它,如果有人能帮我理解为什么第一个程序崩溃了?

感谢

回答

0

的XMLAdapter类是挑剔的类型的XML它将接受。我无法在文章中看到代表c:\ XMLAdapter \ CustomerXML.xml的实际文件的链接,有没有一个我没有看到,或仅用于演示目的?如果没有,我希望您创建了自己的有效XML文件:分析由第二个代码示例生成的文件应该足以创建XMLAdapter可接受的内容。

如果你想文档和XMLAdapter的例子,在Google books search顶部链接将帮助

+0

谢谢!就是这样。 adapter.Tables(1).ToCursor()方法能够读取使用第二个程序中的adapter.ToXML(cFile ,,. T。)方法创建的ExmployeeXML.xml文件。我现在将研究ExmployeeXML.xml文件的结构。 (现在,我确实发现使用XMLToCursor函数导入XML文件方面取得了更大的成功。) – 2009-09-06 22:54:40