Re: difficulties with xml
- To: mathgroup at smc.vnet.net
- Subject: [mg69371] Re: difficulties with xml
- From: "Norbert Marxer" <marxer at mec.li>
- Date: Sat, 9 Sep 2006 03:26:51 -0400 (EDT)
- References: <edjh41$lu3$1@smc.vnet.net>
Hi Pascal
If I have the following list (your data):
li = {
XMLElement[ensemble, {ensemble -> 1},
{XMLElement[peak, {peakID -> 1},
{XMLElement[freq, {}, {3.123}], XMLElement[vol, {}, {12.12}]}],
XMLElement[peak, {peakID -> 2},
{XMLElement[freq, {}, {8.101}], XMLElement[vol, {},
{0.552}]}]}],
XMLElement[ensemble, {ensemble -> 2},
{XMLElement[peak, {peakID -> 1},
{XMLElement[freq, {}, {6.163}], XMLElement[vol, {}, {2.111}]}],
XMLElement[peak, {peakID -> 2},
{XMLElement[freq, {}, {12.884}], XMLElement[vol, {},
{0.221}]}]}]
};
then you can use the following replacement
li /.
XMLElement[ensemble, {ensemble -> 2},
{aaaa1_,
XMLElement[peak, {peakID -> 2},
{ XMLElement[freq, {}, _], aaaa2_}]}] ->
XMLElement[ensemble, {ensemble -> 2},
{aaaa1,
XMLElement[peak, {peakID -> 2},
{ XMLElement[freq, {}, {"MY VALUE"}], aaaa2}]}]
to set the freq value (to "MY VALUE") of ensemble 2 and peakID 2.
Best Regards
Norbert Marxer
www.mec.li
Pascal Mercier wrote:
> Dear all,
>
> I am having problems accessing and changing xml attributes/properties
> after importing an xml file and I'm looking for some help.
>
> z=Import["xmltest.xml","XML"];
>
> part of z looks like the following (sorry for the long lines here)
>
> XMLElement[ensemble, {ensemble->1}, { XMLElement[peak, {peakID->1},
> { XMLElement [freq,{},{3.123}] , XMLElement [vol,{},{12.12}] } ] ,
> XMLElement[peak, {peakID->2}, { XMLElement [freq,{},{8.101}] ,
> XMLElement [vol,{},{0.552}] }]}]
> XMLElement[ensemble, {ensemble->2}, { XMLElement[peak, {peakID->1},
> { XMLElement [freq,{},{6.163}] , XMLElement [vol,{},{2.111}] } ] ,
> XMLElement[peak, {peakID->2}, { XMLElement [freq,{},{12.884}] ,
> XMLElement [vol,{},{0.221}] }]}]
> .
> .
> .
>
> Could anybody give me an hint about the correct syntax to use to be
> be able to directly access and change the value of the freq attribute
> of peakID2 of ensemble2 for instance?
> I just can't seem to be able to find it after reading Mathematica's
> documentation.
>
> Thanks so much in advance,
>
> Pascal