PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: rauno php 2015-11-20 16:53:10
Olen antud vallas uus ja seetõttu vabandan, kui keegi tunneb, et liiga lihtne asi, et mitte ise vastust leida..
Ja kindlasti ei soovi, et keegi asja ette ära teeks, soovin ise õppida ja vajan ainult, et keegi ütleks mulle kuidas seda alumist asja nimetatakse , et saaksin ise edasi uurida või, et keegi suunaks õigesse kohta, kus on info, kuidas selline asi teha XML failiks kenasti.

mul on vaja teha sellest xml, kus oleks siis kõik see mis on stock osa sees, id, reference jne.

{
"resource": {
"name": "Stock",
"url": "/store/stock",
"total": 8005,
"paging": {
"currentPage": 10,
"maxPerPage": 500,
"totalPages": 17,
"_links": {
"first": "/store/stock?page=1",
"last": "/store/stock?page=17",
"next": "/store/stock?page=11",
"prev": "/store/stock?page=9"
}
}
},
"stock": [
{
"id": 2574,
"reference": "31875",
"manufacturer_code": "587745",
"warehouse": true,
"prices": {
"rrp": 649,
"rrp_campaign": 599,
"wholesale": 450.6917
},
"quantity": 5,
"_links": {
"product": "/store/product/2574"
},
"created_at": "2014-06-10 14:26:21",
"updated_at": "2015-10-20 00:57:15"
},
{
"id": 2585,
"reference": "31855",
"manufacturer_code": "98874587",
"warehouse": true,
"prices": {
"rrp": 31.99,
"wholesale": 20.5083
},
"quantity": 6,
"_links": {
"product": "/store/product/2585"
},
"created_at": "2014-06-10 14:26:25",
"updated_at": "2015-10-20 00:57:14"
},
{
"id": 2584,
"reference": "31856",
"manufacturer_code": "69987554",
"warehouse": true,
"prices": {
"rrp": 84.99,
"wholesale": 54.4833
},
"quantity": 1,
"_links": {
"product": "/store/product/2584"
},
"created_at": "2014-06-10 14:26:25",
"updated_at": "2015-10-20 00:57:14"
}
]
}
RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: geo__ 2015-11-20 18:19:03
Nu see on JSON.
Kui käsitsi tahad konvertida proovi seda:
http://www.freeformatter.com/json-to-xml-converter.html

Kui tahad programmiga lugeda, siis veits teine teema.
RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: rauno php 2015-11-20 22:43:34
Aitäh vastuse eest, kuid ma tahan seda automatiseerida jah. Et php programm teeks selle ise ära.
RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: kas sa lugeda oskad? 2015-11-21 12:28:17
TSITEERITUD:
Aitäh vastuse eest, kuid ma tahan seda automatiseerida jah. Et php programm teeks selle ise ära.
json_decode()
RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: rauno php 2015-11-21 12:56:55
jõudsin ilmselgelt peale esimest vastust selle json_decode'ni aga kahjuks ei ole ma siiamaani seda päris tööle saanud.

saan json'i ilusti läbi curl'i kätte , ühendusel kasutan ka kasutajanime/parooli ja see osa kõik toimib, saan ilusti kuvada jsoni lehel aga kui kasutan json_decodi, siis tuleb erinevaid erroreid ja olen neid googeldanud, kui lahendust pole siiamaani leidnud.

Aitäh

RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: õpetaja laur 2015-11-21 13:38:56
TSITEERITUD:
jõudsin ilmselgelt peale esimest vastust selle json_decode'ni aga kahjuks ei ole ma siiamaani seda päris tööle saanud.

saan json'i ilusti läbi curl'i kätte , ühendusel kasutan ka kasutajanime/parooli ja see osa kõik toimib, saan ilusti kuvada jsoni lehel aga kui kasutan json_decodi, siis tuleb erinevaid erroreid ja olen neid googeldanud, kui lahendust pole siiamaani leidnud.

Aitäh

nagu kevades, teeb pool, aga tee ise!

tundub, et sul on probleem json parsimisega, alusta sammhaaval:

$json_text = '{}';
$debug = json_decode ( $json_text );
echo print_r($debug, true):

nüüd muuda step-by-step $json_text väärtust, kuni ilmneb viga

$json_text = '{
"resource": {
"name": "Stock",
"url": "/store/stock",
"total": 8005,
"paging": {
"currentPage": 10,
"maxPerPage": 500,
"totalPages": 17,
"_links": {
"first": "/store/stock?page=1",
"last": "/store/stock?page=17",
"next": "/store/stock?page=11",
"prev": "/store/stock?page=9"
}
}
}
}';
$debug = json_decode ( $json_text );
echo print_r($debug, true):



RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: rauno php 2015-11-21 14:11:52
Tere jälle ja aitäh aitamise eest.

Ta kuvab selle niimoodi:

stdClass Object ( [resource] => stdClass Object ( [name] => Stock [url] => /store/stock [total] => 8005 [paging] => stdClass Object ( [currentPage] => 10 [maxPerPage] => 500 [totalPages] => 17 [_links] => stdClass Object ( [first] => /store/stock?page=1 [last] => /store/stock?page=17 [next] => /store/stock?page=11 [prev] => /store/stock?page=9 ) ) ) )


Ja kui ma sooviks, et ta seda osa kuvaks ilusti XML'ina ja panen lehe üles sellise asja selle jaoks @header('Content-type: application/xml'); ,siis tuleb selline error:

This page contains the following errors:

error on line 1 at column 1: Document is empty
Below is a rendering of the page up to the first error.

aga dokument ei ole ju tühi ? kuvas ju infot ennem, kui selle headeri lisasin :/.. ma tõesti ei saa hetkel pihta :(
RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: õpetaja laur 2015-11-21 16:39:08
TSITEERITUD:
Tere jälle ja aitäh aitamise eest.

Ta kuvab selle niimoodi:

stdClass Object ( [resource] => stdClass Object ( [name] => Stock [url] => /store/stock [total] => 8005 [paging] => stdClass Object ( [currentPage] => 10 [maxPerPage] => 500 [totalPages] => 17 [_links] => stdClass Object ( [first] => /store/stock?page=1 [last] => /store/stock?page=17 [next] => /store/stock?page=11 [prev] => /store/stock?page=9 ) ) ) )


Ja kui ma sooviks, et ta seda osa kuvaks ilusti XML'ina ja panen lehe üles sellise asja selle jaoks @header('Content-type: application/xml'); ,siis tuleb selline error:

This page contains the following errors:

error on line 1 at column 1: Document is empty
Below is a rendering of the page up to the first error.

aga dokument ei ole ju tühi ? kuvas ju infot ennem, kui selle headeri lisasin :/.. ma tõesti ei saa hetkel pihta :(


kaks asja:

a) @header('Content-type: application/xml'); ei tekita sulle xml-i
b) hoidu @ kasutamisest funktsiooni ees, see pedab veateated


php-s on mitmeid võimalusi kuidas objektist xml teha, võid ka ise kirjutada

stdClass Object ( [resource] => stdClass Object ( [name] => Stock [url] => /store/stock [total] => 8005 [paging] => stdClass Object ( [currentPage] => 10 [maxPerPage] => 500 [totalPages] => 17 [_links] => stdClass Object ( [first] => /store/stock?page=1 [last] => /store/stock?page=17 [next] => /store/stock?page=11 [prev] => /store/stock?page=9 ) ) ) )
RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: geo__ 2015-11-21 19:54:14
TSITEERITUD:
Tere jälle ja aitäh aitamise eest.

Ta kuvab selle niimoodi:

stdClass Object ( [resource] => stdClass Object ( [name] => Stock [url] => /store/stock [total] => 8005 [paging] => stdClass Object ( [currentPage] => 10 [maxPerPage] => 500 [totalPages] => 17 [_links] => stdClass Object ( [first] => /store/stock?page=1 [last] => /store/stock?page=17 [next] => /store/stock?page=11 [prev] => /store/stock?page=9 ) ) ) )


Ja kui ma sooviks, et ta seda osa kuvaks ilusti XML'ina ja panen (


Sa oled poolele teel.
Manualis on kirjas mida json_decode teeb:
"Takes a JSON encoded string and converts it into a PHP variable."
ehk ta ei tee sellest XML-i vaid muutuja.
Et sellest XML teha, peaks abi olema: http://php.net/manual/en/class.simplexmlelement.php
Siin on mingi lihtsustatud näide ka: http://stackoverflow.com/questions/1397036/how-to-convert-ar
RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: Foo 2015-11-21 20:37:28
Lisaks tasub JSONiga töötades meeles pidada url http://jslint.com/ Kui kahtlustad, et JSON on vigane, kopeeri see sinna ning valideeri ära (JSLint nupp). Tõsi, antud juhul on viga mujal.
RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: rauno php 2015-11-22 01:07:25
Suur aitäh abistajatele, jõudsingi lahenduseni :)!
RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: blaa 2015-11-22 14:24:36
Viisakas oleks lahenduskoodi meiega ka jagada. Sind aidati, aita sina teisigi.
RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: rauno php 2015-11-22 15:56:02
Olin eile unine, ei jaksanud koodi puhastada asjadest, mida ei saa teistele näidata, kuid lahendus on siin.


include_once("XML/Serializer.php");

$urlLink = "aadresskusinfotuleb";

function getPage($url){
if (!$url) { die(); }
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_FRESH_CONNECT,TRUE);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch,CURLOPT_TIMEOUT,10);
curl_setopt($ch, CURLOPT_USERPWD, "kasutajanimi:parool");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$html=curl_exec($ch);
if($html==false){
$m=curl_error(($ch));
error_log($m);
}
curl_close($ch);
return $html;
}
function json_to_xml($json) {
$serializer = new XML_Serializer();
$obj = json_decode($json);

if ($serializer->serialize($obj)) {
return $serializer->getSerializedData();
}
else {
return null;
}
}

$json = getPage($urlLink);


header("Content-type: text/xml");


$save = json_to_xml($json);

file_put_contents('name.xml', $save);
RE: ehk oskab keegi öelda, kuidas seda nimetatakse
Postitaja: rauno php 2015-11-23 15:59:28
kas siin on keegi kes oleks nõus lihtsalt vaatama ühte apit ja ütlema, kuidas peaksin selle lahendama ?

st. nagu selle probleemi puhul öeldi mulle nimetused, millega teha saan.
Mul on üks peaaegu samasugune asi veel aga seal peab ühendama teisiti ja ma ei saa sellega hakkama, kuid ei taha seda koodi siia ka riputada kahjuks, et ehk jätaks keegi oma kontakti ja saaksin talle kirjutada ?

Kasuliku abi eest kannaksin kindlasti miski raha inimesele!
Abi vajan ainult õigele teele suunamisel jälle, mitte ära tegemisel.

Jätan igaksjuhuks oma e-maili siia kohe: aksel1988@hot.ee

Aitäh

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0888550281525