![](/img/trans.png)
[英]Anyone know how to solve the error of "collect2.exe: error: ld returned 1 exit status" when a program in C is running?
[英]How to solve 'returned null' when parsing a huge XML page with C
我正在嘗試使用libxml2-2.7.6從Redhat linux 5.5,64bit中的oracle DB解析一個巨大的XML clob數據
但是當我嘗試解析超過400KB(409600字節)的XML時,xml解析器函數'xmlParseMemory'返回空指針。
(成功從XML clob數據加載到C中的字符串,檢查字符串'sData'是否正確填充數據。)
xmlDocPtr xDoc;
...
xDoc = xmlParseMemory(sData, strlen(sData));
if(xDoc == NULL) return -1;
...
當XML的大小小於400KB時,Parser會工作。 但只有當超過400KB時,paser才會返回空指針,盡管字符串數據正確,'sData'。
我已經在xmlInitParser之前使用xmlMemSetup嘗試了xmlReadDoc,xmlReadMemory。
如何使用xml解析器函數解決這種情況?
如果一切適用於少於400KB的XML,我相信問題是因為你的sData
緩沖區。 您應該檢查緩沖區是否有足夠的空間容納大文件(超過400kb):
sData
分配了多少內存? strlen(sData)
是否有效?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.