I have an XML string like this:
<DATA>
<CHILD_DATA ATVAL="value1"/>
<CHILD_DATA />
</DATA>
The final output I want is:
<DATA>
<CHILD_DATA ATVAL="value1"/>
<CHILD_DATA ATVAL="value2"/>
</DATA>
My twig $t
is at <DATA>
. Now I want to add an attribute to the second <CHILD_DATA />
. The attribute is ATVAL="value2"
. I tried the following:
$t->last_child('CHILD_DATA')->set_att{"ATVAL","value2"};
This didn't work. What's wrong with this code? Is there another way to do this?
Best Answer
As Jon hinted to you, you have a syntax error in the code you posted. You should have seen a compile error like:
However, you might have typed the code into your answer so that code doesn't match what you are actually doing. Always put the actual code into your question rather than re-typing it, and always post a full program when you can. When you post your program, I don't have to start from scratch to debug what I think you might be doing. :)
Here's a program that does what you want: