PDA

View Full Version : سوال: كار روي تگ هاي xml با php



az.heidarzadeh
سه شنبه 31 خرداد 1390, 09:35 صبح
سلام
من خيلي xml كار نكردم، اما تقريبا ميدونم چيه و چطوريه يا جستجو هايي كه داشتم تونستم كه اطلاهات يك تگ خاص رو نشون بدم اما روي كل يه فايل نميتونم كاري انجام بدم
مثلا من ميخوام از تو يه فايل xml همه دانش آموزايي كه نمره رياضيشون بالاي 18 هست رو انتخاب و نمايش بدم حالا براي اون for اوليه كه قراره تو كل فايل بگرده يكم مشكل دارم...
ممنون ميشم كمكم كنيد :لبخندساده:

az.heidarzadeh
چهارشنبه 01 تیر 1390, 12:00 عصر
چرا كسي جواب نداده :ناراحت: ببينيد من اين كد و دارم

<?
$it = new SimpleXMLIterator(file_get_contents('xml_file_name .xml'));
foreach($it as $key=>$node) {
echo $key . "\n";
if($it->hasChildren()) {
foreach($it->getChildren() as $element=>$value) {
echo "\t". $element . ":" . $value ."\n";
}
}
}
?>
اما اين فقط روي دوتا تگ جواب ميده ميخوام كه تگ هاي داخلي تر رو هم ببينم، چطوري؟ :عصبانی++: اينجا پر از استاد هست لطفا يكي به من جواب بده...

az.heidarzadeh
شنبه 04 تیر 1390, 17:54 عصر
ممنون از اين همه جواب :لبخند: بايد اينكارو كرد براي تگ هاي داخلي...


$dom->load('xml-file.xml');

foreach ($dom->documentElement->childNodes as $articles) {
$true=1;
if ($articles->nodeType == 1 && $articles->nodeName == "tagName") {
foreach ($articles->childNodes as $item) {
if ($item->nodeType == 1 && $item->nodeName == "tagName2") {
foreach ($item->childNodes as $item) {
echo $item->nodeName.'-->'.$item->nodeValue.'<br/>';
}
}
if ($item->nodeType == 1 && $item->nodeName == "tagName3") {
foreach ($item->childNodes as $item) {
if ($item->nodeType == 1 && $item->nodeName == "tagName4") {
foreach ($item->childNodes as $item) {
echo $item->nodeName.'-->'.$item->nodeValue.'<br/>';
}
}
}
}
}
}
}

به اين ترتيب هر چقدر كه بخواهيد ميتونيد وارد تگ هاي داخلي تر بشيد :لبخندساده:

رضا قربانی
یک شنبه 05 تیر 1390, 13:34 عصر
ممنون از توضیحات خوبتون :لبخند: