User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the RSS, Web Services and SOAP section within the Web Development category of DaniWeb, a massive community of 374,634 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 2,431 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our RSS, Web Services and SOAP advertiser:
Views: 1094 | Replies: 0
Reply
Join Date: Jan 2008
Posts: 4
Reputation: cesarcesar is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
cesarcesar cesarcesar is offline Offline
Newbie Poster

Adding Attributes to all XML Nodes

  #1  
Jan 21st, 2008
Howdy,

I have an PHP page that edits XML files. I want ADD a new *id* attribute to all nodes on the page that do not have it all ready. Then i want to delete all of the values of *id* and set them as an incremental 1-x values down the page.

This is the current code i am using to edit specific nodes. Im trying to use DOM, but it doesn't have to be. I just need it to work.
 
<?php
$content = $_POST['content'];
$id = $_POST['id'];
$node = $_POST['node'];
$explode = explode("_",$node);
 
$dom=new DOMDocument();
$dom->load('sample.xml');
$dom->formatOutput = true;
//echo $dom->saveXML(); // show before file
$allnodes = $dom->getElementsByTagName($explode[0]);
foreach ($allnodes as $nodes) {
    if ($nodes->nodeName==$explode[0] and $nodes->getAttribute('id')==$id) { //
        $nodes->setAttribute($explode[1],$content);
    }
}
$dom->save('sample.xml');
?>
 

This is the XML file im working with. **NOTE** the missing *id* attributes of the 2nd *child01* node.
 
<?xml version="1.0" encoding="utf-8"?>
<parent option01="other info" option02="other info" id="1">
    <child01 option01="child01 option01" option02="child01 option02" id="2">
        <child02 option01="child02 option01" option02="child02 option02" id="3">
            <text option01="text option01" option02="text option02" id="4">
                <![CDATA[<b>Ma quande lingues coalesce</b>]]>
            </text>
            <image option01="Li Europan lingues 01" option02="Li Europan lingues 02" id="5">image 1</image>
            <image option01="Li Europan lingues 01" option02="Li Europan lingues 02" id="6">image 2</image>
        </child02>
        <child02 option01="child02 option01" option02="child02 option02" id="7">
            <text option01="text option01" option02="text option02" id="8">
                <![CDATA[Lorem ipsum dolor sit amet.]]>
            </text>
            <image option01="Li Europan lingues 01" option02="Li Europan lingues 02" id="9">image 1</image>
            <image option01="Li Europan lingues 01" option02="Li Europan lingues 02" id="10">image 2</image>
        </child02>
    </child01>
    <child01 option01="child01 option01" option02="child01 option02">
        <child02 option01="child02 option01" option02="child02 option02">
            <text option01="text option01" option02="text option02">
                <![CDATA[Epsum factorial non deposit quid pro quo hic escorol.]]>
            </text>
            <image option01="Li Europan lingues 01" option02="Li Europan lingues 02">image 1</image>
            <image option01="Li Europan lingues 01" option02="Li Europan lingues 02">image 2</image>
        </child02>
        <child02 option01="child02 option01" option02="child02 option02">
            <text option01="text option01" option02="text option02">
                <![CDATA[Li Europan lingues es membres del sam familie.]]>
            </text>
            <image option01="Li Europan lingues 01" option02="Li Europan lingues 02">image 1</image>
            <image option01="Li Europan lingues 01" option02="Li Europan lingues 02">image 2</image>
        </child02>
    </child01>
</parent>
 
AddThis Social Bookmark Button
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

DaniWeb RSS, Web Services and SOAP Marketplace
Thread Tools Display Modes

Other Threads in the RSS, Web Services and SOAP Forum

All times are GMT -4. The time now is 10:13 pm.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC