저는 XML::Twig
을 처음 사용합니다. 아래 그림과 같이 모든 <product>
요소의 속성 순서를 변경하고 싶습니다.Perl과 XML :: Twig을 사용하여 XML 요소의 속성 순서를 변경하는 방법
Input.xml 나는이
<?xml version="1.0" encoding="utf-8"?>
<root>
<product id="book1" markup="xml" type="books">
<name>Analysis</name>
<prize>$203</prize>
<subject>Construct</subject>
</product>
<product id="book2" markup="xml" type="books">
<name>Analysis</name>
<prize>$203</prize>
<subject>Bio</subject>
</product>
</root>
내 코드처럼 필요
<?xml version="1.0" encoding="utf-8"?>
<root>
<product markup="xml" type="books" id="book1">
<name>Analysis</name>
<prize>$203</prize>
<subject>Construct</subject>
</product>
<product markup="xml" type="books" id="book2">
<name>Analysis</name>
<prize>$203</prize>
<subject>Bio</subject>
</product>
</root>
은 다음과 같습니다
use XML::Twig;
my $XML = XML::Twig->new(
twig_handlers => {
#'product' => sub {$_},
# (I don't know this process)
},
pretty_print => 'record',
output_encoding => 'utf-8',
keep_atts_order => 1,
);
$XML->parsefile("input.xml");
$XML->purge;
는 어떻게 변경할 수 있습니까?
이것은 이상한 요청 인 것 같습니다. 왜이 순서 재정렬을 원하십니까? [XML 1.0 규격] (http://www.w3.org/TR/REC-xml/)은 속성의 순서가 중요하지 않다고 명시 적으로 말하고있다. – Borodin