1

Konu: xmltocursor da hata

<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?>
<malzemeler>
  <malzeme>
    <MALZEME_KAYIT_ID>5940869</MALZEME_KAYIT_ID>
    <MALZEME_KODU>150-13-03-03-14</MALZEME_KODU>
  </malzeme>
  <malzeme>
    <MALZEME_KAYIT_ID>59408699</MALZEME_KAYIT_ID>
    <MALZEME_KODU>150-13-03-03-15</MALZEME_KODU>
  </malzeme>
</malzemeler>

şeklinde bir xmlim var

"cursorxml" isminde bir cursor ve "MALZEME_KAYIT_ID N(12),MALZEME_KODU C(100)" alanları var

XMLTOCURSOR("c:\temp\pro.xml","cursorxml") 

şeklinde desemde  1435 parse error hatası veriyor bilgisi olan varmı acaba

Teşekkürler , kolay gelsin

2

Re: xmltocursor da hata

Visual Fox Pro
1

XMLTOCURSOR("c:\temp\pro.xml","cursorxml")

burada:

"c:\temp\pro.xml" in bir dosya oldugunu belirtmen lazim - flag: 512
"cursorxml" icin mevcut cursor kullanilacaksa onu da belirtmen lazim - flag: 8192

Visual Fox Pro
1

XMLTOCURSOR("c:\temp\pro.xml","cursorxml", 512 + 8192)

Dosya yerine hafiza degiskeni kullanan sekliyle:

Visual Fox Pro
1

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
TEXT TO lcXML noshow

<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?>
<malzemeler>
  <malzeme>
    <MALZEME_KAYIT_ID>5940869</MALZEME_KAYIT_ID>
    <MALZEME_KODU>150-13-03-03-14</MALZEME_KODU>
  </malzeme>
  <malzeme>
    <MALZEME_KAYIT_ID>59408699</MALZEME_KAYIT_ID>
    <MALZEME_KODU>150-13-03-03-15</MALZEME_KODU>
  </malzeme>
</malzemeler>
ENDTEXT
 
Create Cursor cursorxml (MALZEME_KAYIT_ID N(12),MALZEME_KODU C(100))
 
Xmltocursor(m.lcXML,"cursorxml",0+8192)
Browse

Son düzenleyen, cetinbasoz (07.12.2009 21:49:25)

Yen yaz 1907'ye yolla FB gelsin evinde yensin.
(sonra salaklar ciksin alin terine şike desin)

3

Re: xmltocursor da hata

Çok teşekkür ederim . dediğiniz gibiymiş smile

İyi geceler

4

Re: xmltocursor da hata

<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?>
  <malzemeler>
    <malzeme>
      <MALZEME_KAYIT_ID>5940869</MALZEME_KAYIT_ID>
      <MALZEME_KODU>150-13-03-03-14</MALZEME_KODU>
      <MALZEME_TANIMI>FAR ROLESİ</MALZEME_TANIMI>
      <MALZEME_TUR_ID>TK</MALZEME_TUR_ID>
      <OLCU_BIRIMI_ID>AD</OLCU_BIRIMI_ID>
      <STOK_KONTROLU>H</STOK_KONTROLU>
      <MIYAD_KONTROLU>H</MIYAD_KONTROLU>
      <AMORTISMAN_ORANI>20</AMORTISMAN_ORANI>
      <TASINIR_KODU>150-13-03-03-14</TASINIR_KODU>
      <OCAK_KONTROLU>H</OCAK_KONTROLU>
      <DEGISIKLIK_TARIHI>2007-01-01T00:00:00+02:00</DEGISIKLIK_TARIHI>
      <YENI_MALZEME_ID>200016402</YENI_MALZEME_ID>
      <GUNLEME_TARIHI>2009-07-10T16:59:46+03:00</GUNLEME_TARIHI>
    </malzeme>
    <malzeme>
      <MALZEME_KAYIT_ID>5940870</MALZEME_KAYIT_ID>
      <MALZEME_KODU>150-13-03-03-15</MALZEME_KODU>
      <MALZEME_TANIMI>AYNALAR</MALZEME_TANIMI>
      <MALZEME_TUR_ID>TK</MALZEME_TUR_ID>
      <OLCU_BIRIMI_ID>AD</OLCU_BIRIMI_ID>
      <STOK_KONTROLU>H</STOK_KONTROLU>
      <MIYAD_KONTROLU>H</MIYAD_KONTROLU>
      <AMORTISMAN_ORANI>20</AMORTISMAN_ORANI>
      <TASINIR_KODU>150-13-03-03-15</TASINIR_KODU>
      <OCAK_KONTROLU>H</OCAK_KONTROLU>
      <DEGISIKLIK_TARIHI>2007-01-01T00:00:00+02:00</DEGISIKLIK_TARIHI>
      <YENI_MALZEME_ID>200016403</YENI_MALZEME_ID>
      <GUNLEME_TARIHI>2009-07-10T16:59:46+03:00</GUNLEME_TARIHI>
    </malzeme>
  <malzemeler>

şeklinde xml dosyam var

XMLTOCURSOR("c:\temp\pro.xml","cursorxy",16+512)   yapsamda türkçe karakterler bozuk görünüyorlar.

Aslında benim elimde bunun gibi 50000 tane malzeme var ben bunu objeye çevirmeye çalıştığımda ck uzun sürdü. Bende xmltocursor kullanıp denemek istedim. Daha hızlı olacak gibi görünüyor ama iyi bir yolmu sizce

5

Re: xmltocursor da hata

Visual Fox Pro
1

Cursortoxml('CrsResult','myxml.xml',1,16+512,0,"1") && windows 1254 olarak yaratır


xml i olustururken yukardaki gibi yaratirsan

Visual Fox Pro
1

Xmltocursor('myxml.xml','CrsResult',512)


ile goruntulediginde sorun olmamasi gerek

http://www.soykansoft.com/images/twitter.jpghttp://www.soykansoft.com/images/wp.jpghttp://www.soykansoft.com/images/blogger.jpg

6

Re: xmltocursor da hata

En üstte; encoding =  "Windows-1252" görünüyor, Türkçe nin windows encoding değeri ,1254.  Bunu bir dene istersen.

http://tr.wikipedia.org/wiki/Windows-1254

Son düzenleyen, ugurlu2001 (08.12.2009 10:03:44)

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

7

Re: xmltocursor da hata

Teşşekürler

Kolay gelsin

8

Re: xmltocursor da hata

<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?>
<responce>
<sonuckodu>0000</sonuckodu>
<sonuc>işlem başarılı</sonuc>
  <malzemeler>
    <malzeme1>
      <MALZEME_KAYIT_ID>5940869</MALZEME_KAYIT_ID>
      <MALZEME_KODU>150-13-03-03-14</MALZEME_KODU>
      <MALZEME_TANIMI>FAR ROLESİ</MALZEME_TANIMI>
      <MALZEME_TUR_ID>TK</MALZEME_TUR_ID>
      <OLCU_BIRIMI_ID>AD</OLCU_BIRIMI_ID>
      <STOK_KONTROLU>H</STOK_KONTROLU>
      <MIYAD_KONTROLU>H</MIYAD_KONTROLU>
      <AMORTISMAN_ORANI>20</AMORTISMAN_ORANI>
      <TASINIR_KODU>150-13-03-03-14</TASINIR_KODU>
      <OCAK_KONTROLU>H</OCAK_KONTROLU>
      <DEGISIKLIK_TARIHI>2007-01-01T00:00:00+02:00</DEGISIKLIK_TARIHI>
      <YENI_MALZEME_ID>200016402</YENI_MALZEME_ID>
      <GUNLEME_TARIHI>2009-07-10T16:59:46+03:00</GUNLEME_TARIHI>
    </malzeme1>
    <malzeme2>
      <MALZEME_KAYIT_ID>5940870</MALZEME_KAYIT_ID>
      <MALZEME_KODU>150-13-03-03-15</MALZEME_KODU>
      <MALZEME_TANIMI>AYNALAR</MALZEME_TANIMI>
      <MALZEME_TUR_ID>TK</MALZEME_TUR_ID>
      <OLCU_BIRIMI_ID>AD</OLCU_BIRIMI_ID>
      <STOK_KONTROLU>H</STOK_KONTROLU>
      <MIYAD_KONTROLU>H</MIYAD_KONTROLU>
      <AMORTISMAN_ORANI>20</AMORTISMAN_ORANI>
      <TASINIR_KODU>150-13-03-03-15</TASINIR_KODU>
      <OCAK_KONTROLU>H</OCAK_KONTROLU>
      <DEGISIKLIK_TARIHI>2007-01-01T00:00:00+02:00</DEGISIKLIK_TARIHI>
      <YENI_MALZEME_ID>200016403</YENI_MALZEME_ID>
      <GUNLEME_TARIHI>2009-07-10T16:59:46+03:00</GUNLEME_TARIHI>
    </malzeme2>
  <malzemeler>
</responce>


Benim xml dosyam bu şekilde aslında. Bu dosyanın içeriğinde değişiklik yapmak istiyorum,

malzeme1 ve malzeme2 malzeme olacak ,
sonuc , sonuckodu taglarını kaldırmak istiyorum. Çünkü xmltocursor işlemini başka türlü çalıştıramadım.

Nasıl yapabilirim ?

Teşekkürler , kolay gelsin

9

Re: xmltocursor da hata

Hatice, XML ile hiç işim olmadığından pek ilgilenmedim, ancak sana yol göstermesi bakımından basit bir ipucu önerebilirim:

1. Elinde bir XML dosyan var. XML = DATA
2. XML datayı kolaylıkla Cursor e çevirebilirsin. XMLTOCURSOR(),
3. Artık elinde bir CURSOR olduğuna göre; Select ile istediğin field ları (TAG) yeni bir CURSOR e alabilirsin CURSORTOXML()

Sadece fikir jimnastiği yapıyorum...

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

10

Re: xmltocursor da hata

Teşekkür ederim. Çözdüm xmltocursor olayını xml de sorunlu kayıtlar düzelince düzeliyor ,
ama malzemelerden 50000 kayıt oldugunda cok yavas 20 dk gecti nerdeyse hala cursora ceviremiyor sad
Başka bir çözüm yolu varmıdır ?

11

Re: xmltocursor da hata

Visual Fox Pro
1

2
3
4
5
6
7
8
9
10
11
12
13
lcXML = filetostr("c:\temp\pro.xml")

lcXML = Strtran(Strtran(Strtran(Strtran(Strtran(m.lcXML, ;
  '<malzeme1>', '<malzeme>'),;
  '</malzeme1>','</malzeme>'),;
  '<malzeme2>', '<malzeme>'),;
  '</malzeme2>','</malzeme>'),;
  'Windows-1252','Windows-1254')
 
lcXML = Strextract(m.lcXML,'<?','?>',1,4) + ;
  STREXTRACT(m.lcXML, '<malzemeler>','</malzemeler>',1,4)
 
Xmltocursor(m.lcXML,'myCursor')
Browse
Yen yaz 1907'ye yolla FB gelsin evinde yensin.
(sonra salaklar ciksin alin terine şike desin)

12

Re: xmltocursor da hata

Bunu XML'e alan kim? Kim derken programi kastediyorum ama galiba web servis. OLEDB ile dogrudan ve daha hizli alinabilir gibi.

Yen yaz 1907'ye yolla FB gelsin evinde yensin.
(sonra salaklar ciksin alin terine şike desin)