Új hozzászólás Aktív témák
-
Castielll
csendes tag
Hali!
Kérnék egy kis segítséget! :-)
Van egy xml fájlom és egy php fájlom.
Úgy szeretném előhívni az adatokat az xml-ből, hogy pl.: ha az "ablak"-on belül a "nyit" és az "ajto"-on belül az "ilyen" mező van kiválasztva akkor azokat listázza ki úgy,-hogy ha a (ablak)"nyit" és az (ajto)"ilyen"-en belül ugyan olyan tagok vannak pl.: (az "a" , "c", "d", "e") akkor azokat ne kétszer írja ki, hanem csak egyszer.
-továbbá ha az (ablak)"nyit" és az (ajto)"ilyen"-en belül van olyan tag, ami a másikban nem szerepel pl.: (a példa alapján most az "f" ) akkor azt meg ne írja ki!
És bárhogy változtatom a változókat, akkor is működjön ez a feltétel...
....................
Xml-em:
<?xml version="1.0" encoding="ISO-8859-2"?>
<content>
<ablak>
<nyit>
<a>kék</a>
<c>piros</c>
<d>sárga</d>
<e>zöld</e>
</nyit>
<zar>
<c>piros</c>
<d>sárga</d>
<f>fekete</f>
</zar>
</ablak>
<ajto>
<ilyen>
<a>kék</a>
<c>piros</c>
<d>sárga</d>
<e>zöld</e>
<f>fekete</f>
</ilyen>
<olyan>
<d>sárga</d>
<e>zöld</e>
</olyan>
</ajto>
</content>....................
Php-m:
<?php
$xml = new DOMDocument;
$xml->load('a.xml');
// A "form"-ban kiválasztott mező:
$mezo1 = $_POST['mezo1'];
$mezo2 = $_POST['mezo2'];
// Ablak ki listázása:
if ($mezo1 == 'nyit') {
$ablak = $xml->getElementsByTagName('nyit');
}
if ($mezo1 == 'zar') {
$ablak = $xml->getElementsByTagName('zar');
}
foreach ($ablak as $ereda) {
echo $ereda->nodeValue;
}
// Ajtók ki listázása:
if ($mezo2 == 'ilyen') {
$ajto = $xml->getElementsByTagName('ilyen');
}
if ($mezo2 == 'olyan') {
$ablak = $xml->getElementsByTagName('olyan');
}
foreach ($ajto as $eredb) {
echo $eredb->nodeValue;
}
?>....................
Előre is köszönöm a segítséget! :-)
Új hozzászólás Aktív témák
- iPhone topik
- A fociról könnyedén, egy baráti társaságban
- MWC 2026: Farsangra Galaxy Ultrának öltözött a gyerek
- Debrecen és környéke adok-veszek-beszélgetek
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Intel Core i7 9xx "Bloomfield" (LGA 1366)
- Genshin Impact (PC, PS4, Android, iOS)
- Háztartási gépek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Xiaomi 15T Pro - a téma nincs lezárva
- További aktív témák...
- Lenovo ThinkPad X1 Carbon Gen 10 i5-1245U / 16GB RAM / 512GB NVMe SSD / 1920 1200 / EU billentyűzet
- Lenovo ThinkPad X1 Carbon Gen 7 i5-8365U / 8GB RAM / 256GB NVMe SSD / 14" FHD / 12 hónap garancia
- Lenovo ThinkPad X1 Carbon Gen 9 i5-1145G7 / 16GB RAM / 256GB NVMe SSD / 14" WUXGA / 12 hónap garanci
- Gtx 1080/ Intel I7 8700K/ 16GB Ram/ 256GB M2 SSD/ 1TB HDD/ Win11
- Gtx 1050Ti/ Intel I5 7500/ 16GB Ram/ 256GB Sata SSD/ 1.5TB HDD/ Win11
- Samsung Galaxy S23 Ultra 256GB,Használt,Adatkabel,12 hónap garanciával
- Apple iPhone 16 Pro Max 256GB Desert Titanium használt, megkímélt 100% akku (13 ciklus) 6 hón
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AS USB-C Dock Gen2 (akár 3x4K felbontás)
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Eladó Samsung S23 Ultra 8/256GB / 12 hó jótállás / ÚJ AKKUMULÁTORRAL!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
