【发布时间】:2012-04-13 04:59:46
【问题描述】:
我的问题有点罗嗦,所以我会尝试用一个例子来解释。
我有一个文件有点类似于我需要解析的 XML,虽然不完全一样。文件中的元素通常显示类似于 XML 格式,如
<person><greeting>hello</greeting><goodbye>bye</goodbye></person>
我想把文件分成单独的标签集,这样一个元素就可以了
<greeting>hello</greeting>
另一个是
<goodbye>bye</goodbye>
对于一个空元素,<person> 和 </person> 自然会成为它们自己的元素,我完全可以接受,因为我想将文件作为一个整体进行解析。
我遇到的问题是如何最好地将整个文件拆分为一个数组,因为文件中根本没有换行符,它是如你所见那样写出来的。我试过这样做
my @array = split(/(><)/, $file)
但问题是它不会将尖括号保留为关联标签的一部分,而是将它们分开。有没有办法让我将文件 在 > 和
【问题讨论】:
-
如果您的文件与 XML 足够接近,为什么不直接使用 XML 解析器?
-
基本上这是家庭作业,或者足够接近它。这是一个正则表达式的练习,而不是 XML 解析,我们被鼓励不要使用 XML 库。