【发布时间】:2019-04-25 18:40:59
【问题描述】:
我需要知道在使用 xmlReadMemory 获取 dom 之后,可以在 dom 中的某个特定任意节点找到 xml 字符串的哪个偏移量。问题是我不知道从哪里获取 xmlParserCtxtPtr 作为第一个参数传递给 xmlParserFindNodeInfo 因为我的整个解析过程没有产生这样的上下文;只有一个xmlDoc。
【问题讨论】:
-
It looks like xmlReadMemory 与“push”方法一起使用,但您可以将xmlCreateMemoryParserCtxt与“pull”方法一起使用,这将为您提供一个 xmlParserCtxtPtr 。
-
xmlCreateMemoryParserCtx 似乎对我不可用(CentOS 7 默认 libxml2)。有一个 xmlCreateDocParserCtx,我已更改解析以将其与 xmlCtxtReadDoc 一起使用,然后将上下文与 xmlParserFindNodeInfo 和节点一起使用,但结果始终为 NULL。