Cra*_*igP 3 perl libxml2 xml-libxml
简单的removeChild测试,虽然删除了xml行,但它保持一个空的空行,怎么来的?顺便说一句 - 我的源xml文件确实有缩进,但即使我删除它们我得到相同的结果.那么,如果仍然保留一个空格,那么删除子行的意义何在?
有没有办法在将结果xml行输出到文件之前重新格式化?
foreach my $XYZ ($doc->findnodes("//EE1"))
{
my $library = $XYZ->parentNode;
$library->removeChild($XYZ);
}
print {$FH} $doc->toString(0);
RESULT IN OUTPUT FILE:
<?xml version="1.0"?>
<TopTag>
<AA1>ZNY</AA1>
<AA2>111</AA2>
<BB1>
<CC1>ZNY</CC1>
<CC2>
<DD1>
<-----blank line remains
<EE2>2000</EE2>
</DD1>
<DD1>
<-----blank line remains
<EE2>5000</EE2>
</DD1>
</CC2>
</BB1>
<AA1>ZNY2</AA1>
<AA2>2</AA2>
</TopTag>
Run Code Online (Sandbox Code Playgroud)
空行来自包含空格的文本节点.请考虑以下文档:
<doc>
<elem/>
</doc>
Run Code Online (Sandbox Code Playgroud)
该doc元素包含以下节点:
elem.如果elem删除元素,则仅保留文本节点,从而产生空行.
重新注册XML::LibXML文档的最简单方法是使用该模块XML::LibXML::PrettyPrint.还看看这个问题.
| 归档时间: |
|
| 查看次数: |
1173 次 |
| 最近记录: |