XML :: LibXML로 값을 업데이트하면 처음 두 줄이 제거됩니다. 하나의 업데이트 된 값을 제외하고 XML을 그대로 보존하려고합니다.XML :: LibXML에서 xml에 쓸 때 표제 제거
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>test.name</name>
<value>help</value>
<description>xml issue</description>
</property>
....
그리고 코드는 다음과 같습니다 :
내 원래 XML이
my $parser =XML::LibXML->new();
my $tree =$parser->parse_file($file) or die $!;
my $root =$tree->getDocumentElement;
my $searchPath="/configuration/property[name=\"$name\"]/value/text()";
my ($val)=$root->findnodes($searchPath);
$val->setData($new_val);
open (UPDXML, "> $file") or die "ERROR: Failed to write into $file...";
print UPDXML $root->toString(1);
close (UPDXML);
내가 인쇄와 노력 UPDXML $ 루트 레벨> toStringC14N (1)하지만 도움이되지 않습니다 ...
10x. cpan은 toString과 같지만 큰 파일로 작업 할 때 좋기 때문에 시도하지 않았습니다. –