2013-03-05 1 views
0

Я пытаюсь использовать XMLTOCURSOR() в VFP 9.2. Возникла ошибка . Xml-документ для анализа XML-документа синтаксического анализа должен содержать элемент верхнего уровня. Строка 0, позиция 0 (нуль)»Ошибка XMLTOCURSOR в VFP

, если я использую XMLTOCURSOR? ('Your.XML', 'тест', 512), он возвращает один ряд

вот мой файл, your.xml:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?> <Donnees> 
    <DonneesAsset> 
     <Asset>RPF 052_V3</Asset> 
     <Date Jour='8' Mois='4' Annee='2009' Heures='10' Minutes='11' Secondes='50'/> 
     <Mesure> 
      <Capteur>Report</Capteur> 
      <Enrichie>Scheduled</Enrichie> 
     </Mesure> 
     <Mesure> 
      <Capteur>Customer Proximity</Capteur> 
      <Enrichie>At 22,1 km South East from EBTS Hasselt</Enrichie> 
      <Unite>km</Unite> 
     </Mesure> 
     <Mesure> 
      <Capteur>Proximity Eurocities</Capteur> 
      <Enrichie>At 17,4 km North West from Liege -- Belgium --</Enrichie> 
      <Unite>km</Unite> 
     </Mesure> 
     <Mesure> 
      <Capteur>Customer Zone</Capteur> 
      <Enrichie>Maasmechelen Zone - St Truiden Zone - V3 Kiewit Zone</Enrichie> 
     </Mesure> 
     <Mesure> 
      <Capteur>Speed avg</Capteur> 
      <Enrichie>42,1</Enrichie> 
      <Unite>km/h</Unite> 
     </Mesure> 
     <Mesure> 
      <Capteur>Movement GPS</Capteur> 
      <Enrichie>Driving</Enrichie> 
     </Mesure> 
     <Mesure> 
      <Capteur>City</Capteur> 
      <Enrichie>Tongeren</Enrichie> 
     </Mesure> 
     <Mesure> 
      <Capteur>Code</Capteur> 
      <Enrichie>3700</Enrichie> 
     </Mesure> 
     <Mesure> 
      <Capteur>Country</Capteur> 
      <Enrichie>Belgium</Enrichie> 
     </Mesure> 
     <Mesure> 
      <Capteur>Position GPS</Capteur> 
      <Enrichie>50.76619N 5.4713593E</Enrichie> 
     </Mesure> 
     <Mesure> 
      <Capteur>Speed</Capteur> 
      <Enrichie>40</Enrichie> 
      <Unite>km/h</Unite> 
     </Mesure> 
     <Mesure> 
      <Capteur>Heading</Capteur> 
      <Enrichie>NE</Enrichie> 
     </Mesure> 
     <Mesure> 
      <Capteur>Distance</Capteur> 
      <Enrichie>13</Enrichie> 
      <Unite>km</Unite> 
     </Mesure> 
     <Mesure> 
      <Capteur>Distance timer</Capteur> 
      <Enrichie>17</Enrichie> 
      <Unite>min</Unite> 
     </Mesure> 
     <Mesure> 
      <Capteur>Door</Capteur> 
      <Enrichie>CLOSED</Enrichie> 
     </Mesure> 
     <Mesure> 
      <Capteur>Ignition</Capteur> 
      <Enrichie>ON</Enrichie> 
     </Mesure> 
     <Mesure> 
      <Capteur>Compressor</Capteur> 
      <Enrichie>OFF</Enrichie> 
     </Mesure> 
     <Mesure> 
      <Capteur>PWR Supply</Capteur> 
      <Enrichie>EXTERNAL</Enrichie> 
     </Mesure> 
    </DonneesAsset> 
</Donnees> 

ответ

2

Это потому, что у вас есть только один элемент внутри верхнего уровня. То есть, у вас есть верхний уровень, как Доннес, и внутри этого есть одна запись DonneesAsset.

Попробуйте вместо этого использовать класс XMLAdapter. Он обладает гораздо большей гибкостью.

+0

Если вы используете «TEXT TO cXML» для создания и выполнения, у него нет проблем. Но когда вы храните xml в файл, вы получаете ту же ошибку. – user1188125

+0

Если вы говорите, что проблема в том, что он не может найти файл, проверьте свои параметры. Вы должны передать 512 как часть третьего параметра, чтобы сообщить функции, что он ищет файл. –

+0

Кажется, что я работаю, если я использую cursortoxml для создания первого и использую xmltocursor для его импорта. Я открываю xml-файл, созданный cursortoxml, и отличается от того, который я открываю выше. Я не знаком с XML-форматом. Может кто-то сказать разницу? – user1188125