gpt4 book ai didi

XML::LibXML 在写入 xml 时删除标题

转载 作者:数据小太阳 更新时间:2023-10-29 02:01:43 25 4
gpt4 key购买 nike

当我用 XML::LibXML 更新值时,前两行被删除。我想按原样保留 xml,除了一个更新的值。

我原来的 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>

....

代码是:

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);

我尝试使用 print UPDXML $root->toStringC14N(1) 但它没有帮助...

最佳答案

daxim 和 rpg 答案都这样做,但要强调 - 使用 $tree->toString() 而不是 $root->toString() 来获取整个文件.

关于XML::LibXML 在写入 xml 时删除标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9206691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com