从xmlNode获取源文件名?

3
在libxml2中,我可以轻松地找到xmlNode::line,以确定xmlNode所在的源代码行,但是我不知道如何找到它来自哪个文件的名称。当加载的文档包含XInclude指令时,这尤其有用。虽然我可以考虑手动处理此问题(查找给定节点上方的xml:base属性;手动存储文件名并在未设置xml:base时使用该文件名),但我更想使用内置在libxml2中的解决方法。
是否有一种函数可以检索任何给定xmlNode对象所加载的文件名?

http://www.w3.org/TR/xinclude/#base - Andreas
1个回答

1

看起来不是这样。 xmlDocPtr 的文档说明中说,name 是“文档的名称/文件名/URI”,但在我的 xmlReadFile 测试中没有填充。

浏览代码,发现文件名没有保存在文档中,解析器上下文在 parser.c 的 xmlDoRead() 结束时消失了。


我很抱歉,你是正确的(这也是我发现的),但我希望再坚持一下,虚幻地希望还有其他人知道我们不知道的事情。 - Nathan
没有其他信息了,所以恐怕这就是答案。 - Nathan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接