在 libxml2 中,我可以轻松找到 anxmlNode
来自 ( xmlNode::line
) 的源代码行,但我看不到如何找到它来自的文件的名称。这在加载的文档包含 XInclude 指令时特别有用。虽然我可以考虑手动处理此问题的方法(xml:base
在给定节点上方查找属性;手动存储文件名并使用它,如果xml:base
未设置),我宁愿使用 libxml2 中内置的东西。
是否有用于检索xmlNode
加载任何给定对象的文件名的功能?
看起来不像。xmlDocPtr的文档说这name
是“文档的名称/文件名/URI”,但这并没有在我的测试中填充xmlReadFile
.
查看代码,文件名似乎没有保存在文档中,解析器上下文在 parser.c 的末尾消失了xmlDoRead()
。