simplexml xpath read-only?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end Developer

Functieomschrijving Voor een erkende werkgever in de regio van Middelburg zijn wij op zoek naar een enthousiaste PHP / Symfony Developer. Een ambitieus persoon die het gemotiveerde development team komt versterken met het realiseren van nieuwe en complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor professionele groei? Dit ga je doen: Je bent verantwoordelijk voor de beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Software Programmeur PHP

Functie Ben jij op zoek naar een nieuwe uitdaging als PHP developer en zoek je een leuke platte organisatie? Lees dan snel verder! Voor een opdrachtgever in omgeving Capelle aan den IJssel dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen PHP, JAVA en Node.js. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn

Bekijk vacature »

Front-end developer (Vue.js) gezocht!

Functie Als Front-end developer is het jouw doel om efficiënte en effectieve frontend code te ontwerpen, ontwikkelen en onderhouden die goed aansluit bij de functionele behoefte vanuit de klant. Je zorgt voor optimale SEO-resultaten, sitespeed en frontend security. You build it, you run it, you own it! Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden

Bekijk vacature »

Back-End Developer in Laravel / PHP

Functie omschrijving Wij zijn op zoek naar een Medior PHP Laravel Developer voor een gaaf bedrijf in de omgeving van Amsterdam! Voor een enthousiast team die zich graag bezig houdt met softwareontwikkeling zijn wij op zoek naar versterking. Je werkt in een klein ontwikkelteam en bent zeer betrokken bij alle aspecten van de softwareoplossingen. Van het ontwerpen tot de oplevering. Binnen deze functie ga je aan de slag met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je krijgt veel te maken met koppelingen naar systemen en de verzoeken van de klant. Je komt terecht in een team, waarbij

Bekijk vacature »

.NET Developer Medior Senior

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Herbruikbare componenten maken; Testen; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als .NET Developer kom jij terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als .NET Developer werk jij aan het ontwikkelen van verbeterde software voor

Bekijk vacature »

Developer

Functie omschrijving Gaat jouw hart sneller kloppen van software developen in C#.NET? Voor een softwarebedrijf in regio Den Bosch zijn wij op zoek naar een C# programmeur. Lees snel verder! Wat ga je doen? Je gaat werken met C# en ASP.NET MVC Framework om onder meer webapplicaties, webshops en websites te ontwikkelen. Je optimaliseert de bestaande software en helpt mee aan het automatiseren van bedrijfsprocessen. Je gaat samen met je collega's de juiste oplossing op basis van de wensen van de klanten uitwerken tot een mooi product. Bedrijfsprofiel Het ontwikkelen van softwareoplossingen en kantoorautomatiseringen is waar dit bedrijf voor staat.

Bekijk vacature »

Senior PHP developer

Functie Als Senior PHP developer heb je een sterke mening over de architectuur van projecten en de processen binnen het team. Je bent de sparringpartner voor je Team Lead. Ook ondersteun je met jouw kennis de minder ervaren developers in jouw team. Ze werken regelmatig aan projecten vanaf scratch en dit geeft ruimte om voor nieuwe technieken te kiezen. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Capelle aan den IJssel zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je

Bekijk vacature »

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

Fullstack Developer

Functieomschrijving Voor een erkende werkgever in regio Etten-Leur zijn wij op zoek naar een Fullstack Developer met PHP/Laravel ervaring. Je gaat aan de slag met het bouwen van maatwerk software voor klanten die actief zijn in een specifieke markt. Als fullstack developer ben je samen met een enthousiast team van 7 collega’s verantwoordelijk voor de ontwikkeling, beheer en innovatie van informatiesystemen voor klanten in een specifieke branche. Verder ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Ervaring met Laravel is een must. Om de klant zo goed mogelijk te

Bekijk vacature »

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Als developer bouw je in DevOps teams aan enterprise applicaties, nieuwe IOT, Chatbots of AI oplossingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren in dit vakgebied. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij vorig jaar Microsoft Partner of the year geworden.

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Dordrecht zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »
Pepijn de vos

pepijn de vos

02/12/2008 18:49:00
Quote Anchor link
hoi,

dit is het verhaal: ik ben en plugin aan het maken voor whatever met een config dingetje in een xml bestand.
nu ben ik bezig daar een admin pagina voor te maken, bij he terug schrijven gebruik ik $item = $idealxml->xpath($path); om vervolgens de juiste waarde in $item te stoppen.

mijn erste gedachte was dat al dat simple xml spul by refference gaat, dus dat ik zo in item kan schrijven... blijkbaar niet, of ik doe iets fout.
en als ik iets probeer als $idealxml->xpath($path) = $value; krijg ik een error met PHP "Can’t use method return value in write context"

dit is ene klein stukje code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
foreach($_POST as $id => $value) {
    $item = explode('#', $id);
    $item[0] = explode('_', $item[0]);
    $path = '//'.$item[0][0].'['.(isset($item[1]) ? $item[1] : 1).']/'.$item[0][1];
    $item = $xml->xpath($path);
    $item = $value;
}

echo "<pre>";
echo htmlentities($xml->asXML()); // dit is dus de oude xml, zonder de veranderingen hierboven
echo "</pre>";
?>


in post zitten dingen in de vorm van item_name#3 die dus corresponderen met bijvoorbeeld dit element:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<xml>
    <item><name>deze niet...</name></item>
    <item><name>deze niet...</name></item>
    <item><name>deze wel, omdat dit nummer 3 is... xpath schijnt niet zero based te zijn</name></item>
    <item><name>deze niet...</name></item>
</xml>
Gewijzigd op 01/01/1970 01:00:00 door Pepijn de vos
 
PHP hulp

PHP hulp

22/03/2025 15:49:45
 
Pepijn de vos

pepijn de vos

03/12/2008 19:23:00
Quote Anchor link
bump...

ik zit hier met een admin die niks doet :S
heeft verder geen super haast ofzo, ik kan nu gewoon in de xml rommelen, maar niet elke noob snapt dat ;)

de vraag samengevat is dus:
hoe kan ik een node uit een xml bestand halen door middel van xpath en vervolgens de waarde aanpassen en terug schrijven naar het xml bestand.
 
Pepijn de vos

pepijn de vos

10/12/2008 20:06:00
Quote Anchor link
mag ik al wanhopig worden?
't duurt me nu een beetje lang.

werkt hier niemand met xml dat ik geen antwoord krijg, of wat is het probleem?
verkeerde topic titel?
slechte uitleg?
of weet niemand het antwoord?

als ik zo iets doe als dit: $xml->a->b = "iets" werkt dat gewoon.
als ik $temp = $xml->a->b doe, en vervolgens $temp = "iets" dan werkt dat wel als de referentie van $xml er in zit, maar niet als het de waarde is.

ik weet dat ik niet naar een return value kan schrijven, en ik weet ook vrij zeker dat het bij simplexml om een referentie naar het xml object gaat, daarom moet je ook altijd die dingen als string casten.
maar als ik dus de return value in een var stop en daar naar schrijf, waarom is het resultaat dan niet bijgewerkt?
of moet ik nog iets doen met =& om echt de referentie te bewerken?

Edit:

http://nl2.php.net/manual/en/function.simplexml-element-xpath.php#56120
zie je wel, referenties... wat doe ik nou fout?
Gewijzigd op 01/01/1970 01:00:00 door pepijn de vos
 
M Ypma

M Ypma

10/12/2008 20:14:00
Quote Anchor link
Quote:
als ik $temp = $xml->a->b doe, en vervolgens $temp = "iets" dan werkt dat wel als de referentie van $xml er in zit, maar niet als het de waarde is.

Kan je daar een werkend voorbeeld van geven? Dit mag ook niet werken, ookal zit er een instantie vam simplexml in, hij zal die instantie gewoon weggooien en vervangen door je string die je nu aan de variabele toewijst.
Tevens snap ik je probleem niet. Waarom wil je het eerst in een losse variabele zetten en vervolgens de waarde aanpassen? Dat is toch erg onoverzichtelijk en lelijk?
Ik kan me je probleem niet voorstellen. Ik gebruik het ook af en toe, simplexml is slecht gedocumenteerd, maar heb er nooit problemen mee.
Gewijzigd op 01/01/1970 01:00:00 door M Ypma
 
Arian Stolwijk

Arian Stolwijk

10/12/2008 22:34:00
Quote Anchor link
Ja... eerst maak je een variable aan, ...->xpath() geeft trouwens een array met nodes terug... daarna ga je in die variabele iets anders zetten.

Je moet juist op zoek gaan naar een property van een van de nodes die in de array zit, die je terug kreeg van ...->xpath(), waarmee je de waarde van die node aan kunt passen.

Iets als

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

$item
= $xml->xpath($path);
$item[0]->textContent = 'iets';

?>


de property textContent verzin ik nu even, omdat dat een property is van DomNode, maar zoiets moet het zijn. Een tijdje terug heb ik hier naar gezocht voor een simpleXMLELement, maar kon het niet vinden...

Wat je kunt doen is het simpleXMLElement omzetten naar een DomElement(/Node/Document (weet niet precies)) en het zo aanpassen en dan weer terug. Maar dat is natuurlijk heel omslachtig...
 
Pepijn de vos

pepijn de vos

13/12/2008 13:58:00
Quote Anchor link
ik heb het al, als je $item[0][0] doet werkt het!!! die laatste is dus voor de textcontent.

het heeft even geduurd, maar bedankt voor de info.
nu kan ik weer verder...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.