XML中命名问题

XML中命名问题

我想利用XML::Simple 把一个hash机构 写入到一个XML文件里。
但是 Hash 里存在不符合XML 命名的key 比如一个数字作为key

1 =>"aaa ",

怎样才能解决这种情况。。。

比如Hash 如下

'data' => {
                              'S1' => {
                                        'TYPE' => 'I',
                                        'SLLL' => '0',
                                        'DULP' => {
                                                       '1' => '101'
                                                     },
                                        'NO' => '19',
                                        'MODE' => 'FF'
                                      },
                              'S2' => {
                                         'TYPE' => 'I',
                                         'SLVD' => '0',
                                         'DULP' => {
                                                        '1' => '102'
                                                      },
                                         'NO' => '18',
                                         'MODE' => 'FF'
                                       },
}

生成XML如下:
<data>
  <S1 MODE="FF" NO="19" SLLL="0" TYPE="I">
    <DULP 1="101" />
  </S1>
  <S2 MODE="FF" NO="18" SLVD="0" TYPE="I">
    <DULP 1="102" />
  </S2>
</data>

结果:
A name was started with an invalid character. Error processing resource 'file:///F:/eclipse work/93kSwing/pin.xml'. Line 3...

    <DULP 1="101" />
----------^

显然<DULP 1="101" /> 是不正确的

不解