 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
UnTip
Data înscrierii: 03/Mai/2007
Mesaje: 367
|
| Trimis: Vin Oct 12, 2007 11:56 am Titlul subiectului: XML parsing |
|
|
am un xml de forma
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <pac>
- <pac_row>
<nume>STOICAN</nume>
<prenume>MIHAELA</prenume>
<nastere>1975-01-20 00:00:00</nastere>
<cnp>2750120384193</cnp>
<adresa_det>OCT. GOGA 108</adresa_det>
</pac_row>
- <pac_row>
<nume>MINCU</nume>
<prenume>ADINA</prenume>
<nastere>1979-06-28 00:00:00</nastere>
<cnp>2790628421570</cnp>
<adresa_det>Radovanu nr 7, bl 42 ap 30</adresa_det>
</pac_row>
- <pac_row>
<nume>GHENCEA</nume>
<prenume>LAVINIA</prenume>
<nastere>1977-10-16 00:00:00</nastere>
<cnp>2771016433020</cnp>
<adresa_det>BADENI NR 7 BL M 61 AP 40</adresa_det>
</pac_row>
- <pac_row>
........................................etc............................................................
as dori sa parsez acest XML sa aflu daca niste $_POST-uri, cum ar fi... nume, prenume si data nasterii sau CNP se afla in XML-ul asta....
niste indicii de start ? |
|
| Sus |
|
Cosmin Chiru
Data înscrierii: 19/Apr/2007
Mesaje: 213
|
| Trimis: Vin Oct 12, 2007 11:58 am Titlul subiectului: |
|
|
| Pe aici te-ai uitat? |
|
| Sus |
|
UnTip
Data înscrierii: 03/Mai/2007
Mesaje: 367
|
| Trimis: Vin Oct 12, 2007 12:16 pm Titlul subiectului: |
|
|
| m-am uitat.. nu m-a ajutat foarte mult |
|
| Sus |
|
Copyright
Data înscrierii: 17/Dec/2006
Mesaje: 853
Locație: Bucuresti
|
| Trimis: Vin Oct 12, 2007 12:43 pm Titlul subiectului: |
|
|
http://www.php.net/manual/en/ref.domxml.php
http://www.php.net/manual/en/function.domnode-node-value.php
Later. |
|
| Sus |
|
UnTip
Data înscrierii: 03/Mai/2007
Mesaje: 367
|
| Trimis: Vin Oct 12, 2007 3:05 pm Titlul subiectului: |
|
|
Multumesc copyright, chiar mi=a fost de ajutor... postez functia pentru ceilalti interesati
<?php
function dom_to_simple_array($domnode, &$array) {
$array_ptr = &$array;
$domnode = $domnode->firstChild;
while (!is_null($domnode)) {
if (! (trim($domnode->nodeValue) == "") ) {
switch ($domnode->nodeType) {
case XML_TEXT_NODE: {
$array_ptr['cdata'] = $domnode->nodeValue;
break;
}
case XML_ELEMENT_NODE: {
$array_ptr = &$array[$domnode->nodeName][];
if ($domnode->hasAttributes() ) {
$attributes = $domnode->attributes;
if (!is_array ($attributes)) {
break;
}
foreach ($attributes as $index => $domobj) {
$array_ptr[$index] = $array_ptr[$domobj->name] = $domobj->value;
}
}
break;
}
}
if ( $domnode->hasChildNodes() ) {
dom_to_simple_array($domnode, $array_ptr);
}
}
$domnode = $domnode->nextSibling;
}
}
$file="pac.xml";
$strXMLData=file_get_contents($file);
$domdoc = new DOMDocument;
$domdoc->loadXML($strXMLData);
$aData = array();
// manipulare xml
dom_to_simple_array($domdoc, $aData);
$ncount= count($aData['pac'][0]['pac_row']) ;
# echo $ncount;
$numele = $aData['pac'][0]['pac_row'][$i]['nume'][0]['cdata'];
$prenumele = $aData['pac'][0]['pac_row'][$i]['prenume'][0]['cdata'];
//echo $numele." ".$prenumele."<br>";
?>
unde pac este root-ul XML-ului urmat de elemente... |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|