XML :: Parser随机打破文本字符串

时间:2011-08-26 14:41:12

标签: xml perl xml-parsing

这个问题类似于HTML::PullParser splits up text element randomly。基本上我正在运行XML :: Parser,当它返回字符串时,它会将它们分成多个部分(为了加快速度,我想)。但是我该怎么做才能防止这种行为呢?我似乎无法在该模块的文档或XML::Parser::Expat中找到任何内容。

2 个答案:

答案 0 :(得分:1)

我特别不了解这个解析器,但它是流解析器的一个常见功能,规范允许它们在任何他们喜欢的地方拆分文本节点。在许多情况下,他们利用此功能在实体边界处分割文本(避免字符串复制操作),但它们也可以在I / O缓冲区边界处执行此操作。您要么必须使用它,在应用程序级别自己组装文本,要么使用更高级别的接口进行XML处理,例如XSLT或XQuery。

答案 1 :(得分:1)

When you get text,

- Append the text to a buffer.

When you get something other than text,

- If the buffer contains text,
  - Process the text in the buffer.
  - Empty the buffer.

- Process what you just got.
相关问题