How to create and set values for attribute in XML?

How to create and set values for attribute in XML ? I need to set ateam id=”101″ ?
With this I listed my code. By using createAttribute i created but i dont know how to set value for that attribute..

/* create XML Content */
 $domtree = new DOMDocument('1.0', 'UTF-8');
 $xmlRoot = $domtree->createElement("xml");
 $xmlRoot = $domtree->appendChild($xmlRoot);
 $currentTrack = $domtree->createElement("messsage");
 $currentTrack = $xmlRoot->appendChild($currentTrack);
 $currentTrack->appendChild($domtree->createElement('category','Scores'));
 $Game = $currentTrack->appendChild($domtree->createElement('Game',''));
 $Game->appendChild($v = $domtree->createElement('ateam','India'));
 $Game->appendChild($domtree->createElement('score',30));
 $v->appendChild($domtree->createAttribute('id'));
  echo $domtree->saveXML();

OUTPUT

<?xml version="1.0" encoding="UTF-8"?>
<xml>
    <messsage>
        <category>Scores</category>
        <Game>
            <ateam id="">India</ateam>
            <score>30</score>
        </Game>
    </messsage>
</xml>

Expected OUTPUT

 <?xml version="1.0" encoding="UTF-8"?>
    <xml>
        <messsage>
            <category>Scores</category>
            <Game>
                <ateam id="101">India</ateam>
                <score>30</score>
            </Game>
        </messsage>
    </xml>

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

The easiest way is using setAttribute:

$v->setAttribute('id', 101);

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply