2012-12-03 63 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