我正在使用Perl和XML :: Simple模块创建XML文件.我成功创建了XML文件,但问题是我<opt> </opt>的每个标签都有标签.我正在寻找任何可以避免<opt> </opt>标签的选项.我无法进行后处理以删除标签.因为文件很大.
示例:
<opt>
<person firstname="Joe" lastname="Smith">
<email>joe@smith.com</email>
<email>jsmith@yahoo.com</email>
</person>
<person firstname="Bob" lastname="Smith">
<email>bob@smith.com</email>
</person>
</opt>
Run Code Online (Sandbox Code Playgroud)
我正在寻找(没有<opt>标签):
<person firstname="Joe" lastname="Smith">
<email>joe@smith.com</email>
<email>jsmith@yahoo.com</email>
</person>
<person firstname="Bob" lastname="Smith">
<email>bob@smith.com</email>
</person>
Run Code Online (Sandbox Code Playgroud)
aks*_*aks 13
标记是从用户提供的数据结构生成的XML的根元素.来自XML :: Simple文档 -
RootName =>'string'#out - 方便
默认情况下,当XMLout()生成XML时,根元素将命名为"opt".此选项允许您指定备用名称.
为RootName选项指定undef或空字符串将生成没有根元素的XML.在大多数情况下,生成的XML片段不会"格式良好",因此无法通过XMLin()读回.尽管如此,已发现该选项在某些情况下有用.
要将根元素设置为空白,只需将RootName作为'undef'传递给XMLout,例如.
use XML::Simple;
my $xml = XMLout($hashref, RootName => undef);
Run Code Online (Sandbox Code Playgroud)