https://www.dropbox.com/s/84w2uk94nxeb07e/bos.XML
Yukarıda vermiş olduğum XML dosyayı PHP ile okumaya calısıyorum. Ancak sanırım hata yaptığım bir yer var. Farklı bir XML dosyayı rahatlıkla okuyabiliyorum.
Bunda yapmak istediğim ise XML dosyayı incelerseniz
InvoiceLine diye kısımlar var burada Fatura içerisindeki Stok kodları var Bunları ekrana listelemek istiyorum..
PHP Xml Read
6
●529
- 03-04-2014, 13:17:21
- 03-04-2014, 14:42:21Dosya olarak kullanıyorsanızgenchacker adlı üyeden alıntı: mesajı görüntüle
<?php $xml = simplexml_load_file('xmldosyaniz.xml'); print_r($xml); //debug ?>xml verisini değişkene atadıysanız
<?php $xml = simplexml_load_string($degisken); print_r($xml); //debug ?>
- 03-04-2014, 16:09:10Bahsettiğiniz şekilde bir sonuca ulaşamadım. Color kısımlarını neden kullanıyoruz acaba ?FastPHP adlı üyeden alıntı: mesajı görüntüle
- 03-04-2014, 16:17:45editörden dolayı hata oluşmuş düzelttim $xml->objeismi gibi kullanırsınızgenchacker adlı üyeden alıntı: mesajı görüntüle
- 03-04-2014, 16:31:25Bahsettiğin gibi yaptım zaten ok Ancak şöyle bir problem oluşuyor. XML dosya mı problemlidir bilmiyorum ama XML bi incelerseniz hata olup olmadığını anlayacaksınızFastPHP adlı üyeden alıntı: mesajı görüntüle
Diye başlıyor buradaki XML
<?xml version="1.0" encoding="UTF-8"?> <Invoice>
Ancak Farklı bir XML i kontrol ettiğim zaman
<?xml version="1.0" encoding="UTF-8"?> <INVOICE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Invoice>
Böyle çıkıyor. ve Eminim ki bu yüzdendir veriyi çekmeye başladığımda hangi objeyi cekmek istiyorsam o objeden önce kac tane obje var ise o kadar boşluk bırakıyor ekranda. - 03-04-2014, 16:42:05genchacker adlı üyeden alıntı: mesajı görüntüle
<?php $veri = @file_get_contents("xmldosyaniz.xml"); if(preg_match_all('/<InvoiceLineId>(.*?)<\/InvoiceLineId>/i',$veri,$kesit)) { if(is_array($kesit[1])) { foreach($kesit[1] AS $InvoiceLineId) { echo "{$InvoiceLineId}<br />"; } } } ?>
- 03-04-2014, 16:53:02Teşekkür ederim asLında doğru bir işlem yapmışsınız. Ancak şöyle bir problem daha var ben burada Tüm bilgileri almalıyım aslındaFastPHP adlı üyeden alıntı: mesajı görüntüle
Örnek <InvoiceDate>2014-04-02</InvoiceDate>
<OrderID>BOS-SRF-601011985478</OrderID>
<Title>ÖZ ECZA DEPOSU A.Ş.</Title>
Bu Gibi tüm bilgileri almam gerekli. Mesela bu XML dosya içerisinde 1 Fatura var 6 Tane de Fatura kalemi var. Ben bunları Netsis Diye bir Ticari programa aktarıyorum. yeri gelicek aynı dosya içerisinde 5 fatura 30 kalem ürün felan olacak. Bu şekilde yapmam gerekli. Farklı bir XML dosyayı bu şekilde içeriye alıp aslında işlemleri gerçekleştirdim ama bu dosya da bir problem var bi türlü alamıyorum.
daha önce ki aldığım örnek PHP Kodları koyuyorum Aşağıda
<?php $xml = simplexml_load_file("fatura.xml"); $parse = "_-FO_-EF_UBL20TR10"; $parse2 = "_-ISISTR_-EF_INVOICELINE"; $parse3 = "_-ISISTR_-EF_TAXTOTAL_LINE"; $header = "_-ISISTR_-EF_HEADER"; $referans = "_-ISISTR_-EF_REFERENCE"; $parti = "_-ISISTR_-EF_PARTY"; $toplam= "_-ISISTR_-EF_TAXTOTAL"; $note = "_-ISISTR_-EF_HEADERNOTE"; $allow= "_-ISISTR_-EF_ALLOWANCECHARGE"; $cari ="_-ISISTR_-EF_PARTYID"; $legal = "_-ISISTR_-EF_LEGALMONETARYTOT"; $activeid = 0; foreach ($xml->$parse as $val) { foreach ($val->$parse2 as $voice) { if ($activeid != $val->$referans->DOCUMENT_UNIQUE_KEY) { $activeid = $val->$referans->DOCUMENT_UNIQUE_KEY; $new = 1; } else { $new = 0; } ?>
