PDA

View Full Version : كار با xml در php



eidazha
سه شنبه 18 آذر 1393, 02:31 صبح
سلام دوستان يك سوال داشتم
من با يك api كار ميكنم و اين api جواب رو به صورت xml ميفرسته
حالا بنده بايد اين جواب ها رو جدا كنم
جوابي كه ارسال ميكنه به اين شكل هست


<epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:post="http://epp.iran.ir/ns/post-1.0">
<response xmlns:post="http://api.iran.ir/ns/post-1.0">
<result code="2000">
<msg>Command completed successfully</msg>
</result>
<resData xmlns:post="http://api.iran.ir/ns/post-1.0">
<post:chkData xmlns:post="http://epp.iran.ir/ns/post-1.0">
<post:cd>
<post:name normalized_name="example" canonized_name="example" code="0" avail="0">example</post:name>
<post:reason>post name is forbidden</post:reason>
</post:cd>
</post:chkData>
</resData>
</response>
</epp>


بنده ميتونم بين دو تگ رو بخونم مثلا بين دو تگ <post:name normalized_name="example" canonized_name="example" code="0" avail="0">example</post:name> رو ميتونم بخونم كه example هست
حالا ميخوام تو همين تگ مثلا code كه برابر 0 هست رو هم بتونم بخونم يا normalized_name يا avail و ...

ممنون ميشم كمك كنيد
با تشكر

php_zone
سه شنبه 18 آذر 1393, 08:58 صبح
باید از کلاس domdocument استفاده کنید

eidazha
سه شنبه 18 آذر 1393, 11:59 صبح
باید از کلاس domdocument استفاده کنید

خيلي ممنون ميشه يه مثال ساده هم بزنيد ،‌يا يك سمپل بديد

SA_Developer
سه شنبه 18 آذر 1393, 13:34 عصر
سلام
به این صورت میتونید مقدار یک مشخصه رو بگیرید:


<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load( 'result.xml' );
$xpath = new DOMXPath($xmlDoc);

foreach ($xpath->query("*//post:name") as $val){
echo $val->getAttribute('code');
}

eidazha
سه شنبه 18 آذر 1393, 13:54 عصر
خيلي ممنون دوست عزيز با كد شما مشكل برطرف شد

php_zone
چهارشنبه 19 آذر 1393, 08:14 صبح
خيلي ممنون ميشه يه مثال ساده هم بزنيد ،‌يا يك سمپل بديد

سعی کنید بیشتر در گوگل جستجو کنید , مثل کلاس درس های دانشگاه :لبخند:

eidazha
جمعه 10 مهر 1394, 01:48 صبح
دوستان من مشکلم با کدی که دوستمون SA_Developer معرفی کردن حل شده
حالا میخوام
<result code="2000">
<msg>Command completed successfully</msg>
این دو تگ رو نیز همزمان بخونم یعنی code=100 و همچنین داخل تگ msg
دوستان همزمان با کد دوستمون میخوام اینها رو نیز بخونم
ممنون میشم راهنمایی کنید