logi sisse meist KKK
<testimonials>
    <testimonial id="4c050652f0c3e">
        <nimi>John</nimi>
        <email>test@test.com</email>
        <text>Some text</text>
        <active>1</active>
        </testimonial>
    <testimonial id="4c05085e1cd4f">
        <name>ats</name>
        <email>some@test.ee</email>
        <text>Great site!</text>
        <active>0</akctive>
    </testimonial>
</testimonials>

On selline XML-i struktuur ning sooviks PHP DOM-i abil muuta kindla testimonial(id järgi) elemendi active vaartust. Mul on kood kustutamaks kindlat elementi, aga ei oska modida muutmiseks.

<?php
$xmlFile = file_get_contents('test.xml');
$xml = new SimpleXMLElement($xmlFile);

$kust_id = $_GET["id"];

foreach($xml->testimonial as $story) {
    if($story['id'] == $kust_id) {
        $dom=dom_import_simplexml($story);
        $dom->parentNode->removeChild($dom);

$xml->asXML('test.xml');
        header("Location: newfile.php");
    }
}
?>

küsitud Jun 02 '10 at 10:07

Hannes%201's gravatar image

Hannes 1
11113


    <?php
// $testimonials = simplexml_load_file('test.xml');
$testimonials = new SimpleXMLElement('<testimonials>
    <testimonial id="4c050652f0c3e">
        <nimi>John</nimi>
        <email>test@test.com</email>
        <text>Some text</text>
        <active>1</active>
        </testimonial>
    <testimonial id="4c05085e1cd4f">
        <name>ats</name>
        <email>some@test.ee</email>
        <text>Great site!</text>
        <active>0</active>
    </testimonial>
</testimonials>');

// there can be only one item with a specific id, but foreach doesn't hurt here
foreach( $testimonials->xpath("testimonial[@id='4c05085e1cd4f']") as $t ) {
  $t->name = 'LALALA';
}

echo $testimonials->asXML();
link

vastatud Jun 04 '10 at 12:35

Hannes%201's gravatar image

Hannes 1
11113

Ilmselt siis DOMNode::replaceChild

$newelement = $xml>createTextNode('Some new node!'); 
$element->parentNode->replaceChild($newelement, $element); // $element = $dom sinu puhul

Pärineb siinsetest kommentaaridest.

link

vastatud Jun 02 '10 at 18:09

Indrek%201's gravatar image

Indrek 1
95338

Sinu vastus
lülita eelvaade

Jälgi seda küsimust

By Email:

Pärast sisselogimist saad tellida muudatuse teavitusi siit

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *kaldkiri* või __kaldkiri__
  • **paks kiri** või __paks kiri__
  • link:[tekst](http://url.com/ "pealkiri")
  • pilt?![alt tekst](/path/img.jpg "pealkiri")
  • nummerdatud nimekiri: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • põhilised HTML märgendid on samuti toetatud

Pinu tööpakkumised

kõik pakkumised »

Küsimuse sildid:

×22
×3

küsitud: Jun 02 '10 at 10:07

nähtud: 2,608 korda

viimati uuendatud: Jun 04 '10 at 12:35

Litsents: Creative Commons Attribution License | Kontakt: info@pinu.ee