simplexml xpath read-only?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C#.NET developer

Functie Het development team bestaat momenteel uit vijf backend C#/.NET ontwikkelaars. Op dit moment zit één ontwikkelaar dedicated op de mobiele applicatie. Als team werk je samen aan het zelf ontwikkelde software platform. Dit bestaat uit zowel apps als websites. Om het systeem door meer dan honderdduizenden gebruikers wordt gebruikt is het bijna vanzelfsprekend dat de kwaliteit van het product hoog moet liggen. Het systeem bestaat uit drie projecten. Je werkt dus aan deze drie projecten waarbij de focus op z’n tijd verschuift. De technieken die worden toegepast zijn o.a. .NET Core, Xamarin, C# en MVC. Je zal dus met

Bekijk vacature »

Ontwikkelaar Centrale Monitoring

Ontwikkelaar centrale Monitoring Functieomschrijving Wil jij een bijdrage leveren aan het onderhoud, opzetten en ontwikkelingen van technologieën van SSC-ICT, een van de grootste ICT-dienstverleners van en voor de Rijksoverheid? Je komt als monitorspecialist te werken bij team Operations Management Services. Dit team werkt aan het stabiliseren en waarborgen van een betrouwbare monitoromgeving voor 7 ministeries. Jij begeleidt het implementatieproces van de te monitoren technologieën, onder andere via management packs, connectoren en API's. Je hebt hiervoor veel contact met interne en externe klanten, die hun wensen op het gebied van monitoring aan jou doorgeven. Je beoordeelt deze wensen en komt met

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

.NET developer

Functie Als senior .NET ontwikkelaar en aankomend lead developer ben jij in één van de drie development teams verantwoordelijk voor het volgende: • Jij hebt een oogpunt op modernisering en bent verantwoordelijk voor de technische staat en architectuur van de applicatie; • Jij bent verantwoordelijk voor het reviewen van de technische haalbaarheid van verschillende onderwerpen; • Jij bent verantwoordelijk voor een goede aansluiting binnen het multidisciplinaire team en de bijbehorende taken; • Jij bent verantwoordelijk voor het aandragen van verbetervoorstellen en ontwikkelstandaarden in zowel de techniek als architectuur; • Jij bent meewerkend voorman en ondersteunt en coacht jouw team op

Bekijk vacature »

Full Stack Software Developer C#.NET

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »

Senior PHP Developer

Als Senior PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn en coach je andere developers op de hard en soft skills. Wat doe je als Senior PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om

Bekijk vacature »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Python developer Consultancy

Functie Als Python developer bij deze organisatie werk je voor verschillende klanten. Doordat de oprichter een groot netwerk heeft kun je zelf voorkeuren uitspreken in het type projecten dat je wilt gaan doen. Zo zijn er bijvoorbeeld langdurige of juist korte projecten, maar is ook het type klant, of project bespreekbaar. Werk jij bijvoorbeeld graag aan een nieuw, state-of-the-art web portaal of ben je liever betrokken bij een migratietraject van een bestaande applicatie? Wij gaan voor jou aan de slag! Eisen • Je bent een gedreven developer met sterke voorkeur voor Python • Je bent meer dan een codeklopper •

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Fullstack Software Developer

Functieomschrijving Voor een ambitieuze werkgever in regio Roosendaal zijn wij op zoek naar een Full Stack C#.NET Developer. Als software programmeur ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Verder ontwikkelen en onderhouden van webapplicaties, dashboards en apps voor de eigen IOT-oplossingen; Testen en goedkeuren van de software; Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks,

Bekijk vacature »

Back end developer PHP

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 25 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Full Stack Software Ontwikkelaar gezocht! Voor een bedrijf in de regio van Ermelo zijn wij op zoek naar een Software Ontwikkelaar die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van SaaS applicatie van dit bedrijf. Hierbij ga jij voor- en samenwerken met de klanten van de organisatie, het is hierbij dus van groot belang dat je communicatief vaardig bent en dat je beschikt over beheersing van zowel de Nederlandse als Engelse taal. Bedrijfsprofiel Waar ga je werken? Altijd al in een echt familiebedrijf willen werken? Dan is dit je kans! Het bedrijf waar je komt te

Bekijk vacature »

Senior Applicatie ontwikkelaar Java

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving We verwachten van je,

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

09/07/2025 20:11:35
 
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.