2012-12-03 32 views
3

在libxml2中,我可以很容易地找到xmlNode来自(xmlNode::line)的源代码行,但我看不到如何找到它来自的文件的名称。这在加载的文档包含XInclude指令时特别有用。虽然我可以想到手动处理方法(查找给定节点上方的​​属性;如果没有设置​​,手动存储文件名并使用该属性),我宁愿使用内置于libxml2的东西。从xmlNode获取源文件名?

是否有一个函数用于检索任何给定的xmlNode对象被加载的文件名?

+0

http://www.w3.org/TR/xinclude/#base – Andreas

回答

1

看起来不像。 xmlDocPtr的文档说name是“文档的名称/文件名/ URI”,但是这并未在我的测试中使用xmlReadFile填充。

翻看代码,它看起来像文件名没有保存在文档中,解析器上下文消失在parser.c的xmlDoRead()的末尾。

+0

恐怕你说得对(这也是我发现的),但是我希望有一点抱歉,希望有人其他人知道我们没有的东西。 – Nathan

+0

没有其他东西即将出现,所以我恐怕这是答案。 – Nathan