【发布时间】:2014-09-07 23:20:20
【问题描述】:
我正在使用 Perl 读取一个 XML 文件,然后对其进行一些更改,然后将其再次写入另一个 XML 文件。
我的输入 XML 看起来像:
<A
value1="123">
<B
V1="1"
V2="7"
V3="1"/>
</A>
但是我得到的输出是这样的:
<A value1="123">
<B V1="1" V2="7" V3="1"/>
</A>
我正在使用代码:
my $data_xml = $xml->XMLin(get($xml_url),KeepRoot => 1,ForceArray => 1);
XMLout($data_xml,KeepRoot => 1,OutputFile => "Keep5.xml");
如何获得与输出格式相同的输出?
【问题讨论】:
-
原文件是手动格式化的吗?
-
@Matteo 原文件是用perl读取的,需要用别的名字写回来
-
为什么要这样做?严肃的问题。 XML 没有将布局定义为规范的一部分。就它而言,在一条线上的所有 smooshed 都与整齐地布局完全相同。它定义了“样式表”,分别涵盖格式和布局。
-
@Sobrique 我的输出 xml 文件被另一个工具读取。当我提供当前输出格式时,它无法处理它。所以我希望输出与输入的格式相同
-
那么您的其他工具无法读取 XML,并且没有 XML 解析器可以帮助您。对不起,但就是这样。它 - 可能 - 做一些基于行的关键字匹配,这根本不是一回事。 (即使最初看起来很像)