2009-06-25 12 views
1

난 그냥이 코드에 잘못된 무엇 XMLPerl의 XML :: Simple을 사용하여 XML을 생성하려면 어떻게해야합니까?

use XML::Simple; 

my %element = ("a" => "10" , 
       "b" => "20" ,); 

my $xs = new XML::Simple(); 
my $ref = $xs->XMLin(%element); 
my $xml = $xs->XMLout($ref); 
print $xml; 

를 만들기 위해 노력하고 있어요?

<opt a="10" b="20" /> 

하지만 난 정말 좀하고 싶습니다 것은 이것이다 :

use XML::Simple; 

my %element = ("a" => "10" , 
       "b" => "20" ,); 

my $xs = new XML::Simple(); 
my $xml = $xs->XMLout(\%element); 
print $xml; 

이 다음과 같은 출력을 생성합니다 (이것은 해결되었다한다)

<a> 10 </a> 
<b> 20 </b> 

나는 이것을 달성 할 수있는 방법 ?

+1

왜이 커뮤니티 위키를 만들었습니까? 왜 문서를 읽지 않으시겠습니까? 내가 실수로 커뮤니티 위키 .. – innaM

+0

롤백하는 방법 – joe

답변

4

XMLin은 XML을 가져와이를 Perl 데이터 구조로 변환합니다.

XMLout은 Perl 데이터 구문을 가져 와서 XML로 변환합니다.

XMLin에 Perl 데이터 구조를 제공하고 결과를 XMLout에 공급하려고합니다.

documentation을 읽으셨습니까?


업데이트 : 문서는 (예, 우리가 지루 알고있다) 당신이 XML::Simple::new()에 전달할 수있는 옵션이 꽤 많이 제공합니다. 그 중 하나가 NoAttr => 1입니다. check that one out을 원할 수도 있지만 다른 것들 (일부는 "중요"로 표시됨)을 다치게하지 마십시오.

2

역방향으로 사용하고 있습니다. XMLin은 XML 디코더 (XML 인코딩 문서를 가져 와서 Perl 구조를 반환 함)입니다. XMLout은 XML 인코더입니다 (Perl 구조체를 사용하고 XML로 인코딩 된 문서를 반환합니다).

+0

어느 쪽이든 나는 내가 원하는 것을 습득 할 수 없다. 난 해시 배열을 기반으로 XML 요소를 만들고 싶습니다. – joe

관련 문제