作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 XML::Simple
解析一个 XML 文件.有没有办法从 XML 中获取树形?如果是这样,请举例说明或建议 CPAN 包。
我想知道在 column
之后我必须处理哪个标签等等。
标签没有顺序。 column
标签可以多次出现在 Table
或 display_name
之后。
Tab
column
Table
column
display_name
column
display_name
XML:
<Tab>
<column>
<display_name>xyz</display_name>
<display_name>pqr</display_name>
</column>
<Table>
<column><display_name>Department</display_name></column>
</Table>
<display_name>abc</display_name>
<column>pwd</column>
<display_name>jack</display_name>
</Tab>
使用 XML::Simple 输出:
$VAR1 = {
'Table' => {
'column' => {
'display_name' => 'Department'
}
},
'display_name' => [
'abc',
'jack'
],
'column' => [
{
'display_name' => [
'xyz',
'pqr'
]
},
'pwd'
]
};
预期的 o/p:
$VAR1 = {
'column' => {
'display_name' => [
'xyz',
'pqr'
]
}
'Table' => {
'column' => {
'display_name' => 'Department'
}
},
'display_name' => 'abc',
'column' => 'pwd',
'display_name' =>'jack'
};
我知道不可能有具有相同键的散列。请建议我可以维护标签序列并能够打印它们的方法。
最佳答案
XML::LibXML 创建一棵没有信息丢失的树。
use XML::LibXML qw( );
my $parser = XML::LibXML->new();
my $tree = $parser->parse_file($qfn);
您可以从那里生成您指定的输出。 (我不知道你为什么要这样做,因为你想要输出的 Perl 代码在运行时会丢失数据。)
关于perl - 如何在 Perl 中解析 XML 并创建树结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16746404/
我是一名优秀的程序员,十分优秀!