opencv中使用filestorage建立和解析xml檔案。但filestorage不能處理節點為空的情況,且對屬性也不友好。例子見這裡。
對於一段如下的xml檔案:
<?xml version="1.0"?>
1
libxml處理的函式如下:
string getlabes(char *szdocname, map,rect > &labels)
curnode = xmldocgetrootelement(doc); //確定文件根元素
if (null == curnode)
if (xmlstrcmp(curnode->name, bad_cast "message"))
curnode = curnode->xmlchildrennode;
xmlnodeptr propnodeptr = curnode;
xmlnodeptr itemnodeptr;
while(curnode != null)
if (!xmlstrcmp(curnode->name, bad_cast "items"))
curnode = curnode->next;
} xmlattrptr attrptr = propnodeptr->properties;
while (attrptr != null)
// item
while (itemnodeptr != null)
// label
xmlnodeptr childnodeptr = itemnodeptr->xmlchildrennode;
while (childnodeptr != null)
if (!xmlstrcmp(attrptr->name, bad_cast "t"))
if (!xmlstrcmp(attrptr->name, bad_cast "r"))
if (!xmlstrcmp(attrptr->name, bad_cast "b"))
if (!xmlstrcmp(attrptr->name, bad_cast "id"))
attrptr = attrptr->next;
}if(!(l==0&&t==0&&b==0&&r==0))
itemnodeptr = itemnodeptr->next;
} xmlfreedoc(doc);
return filename;
}
用map的iterator輸出:
C 使用libxml解析XML檔案
opencv中使用filestorage建立和解析xml檔案。但filestorage不能處理節點為空的情況,且對屬性也不友好。例子見這裡。對於一段如下的xml檔案 1libxml處理的函式如下 string getlabes char szdocname,map,rect labels curno...
使用hivexmlserde解析xml檔案
hive xml serde是乙個基於hive serde 序列化 反序列化 框架的xml處理庫。它依賴於apache mahout專案中的xmlinputformat,根據特定的開始和結束標記將輸入檔案分解成xml片段。xml serde的本質其實是使用xpath處理器查詢xml片段來填充hive...
Python建立XML檔案,C 解析XML檔案
最近在做一些 移植工作,為了測試正確性,要拿同樣的輸入資料測試,於是打算使用xml來儲存資料,c 進行解析。簡單做個記錄。資料來源使用python生成xml 目標是生成下面的樣子,直接看 吧,python這個xml庫用起來比較簡單,看個例子就會了。c 解析xml qt qdomdocument 剛好...