資源簡介
完全使用C語言編寫的XML庫源碼,采用鏈表做節點間的遍歷查詢。

代碼片段和文件信息
#include?“stdafx.h“
#include?“Lkyxml.h“
Lkyxml::Lkyxml()
{
}
Lkyxml::~Lkyxml()
{
}
char*?Lkyxml::LdynamicMem(void?*buffer)
{
if?(0?==?buffer)
return?0;
int?nlen?=?strlen((char*)buffer);
if?(0?==?nlen)
return?0;
char?*buff?=?(char*)malloc(nlen?+?1);
memset(buff0nlen?+?1);
memcpy(buff(char*)buffernlen);
return?buff;
}
bool?Lkyxml::LCreateHeadInfo(char?*vesionchar?*encoding)
{
if?(CreateHeadInfo(vesionencoding))
return?true;
return?false;;
}
bool?Lkyxml::LAddHeadInfo(char?*HeadDataint?HeadDataLen)
{
if?(AddHeadInfo(HeadDataHeadDataLen))
return?true;
return?false;
}
PHeadInfo?Lkyxml::LCheckHeadInfo()
{
return?CheckHeadInfo();
}
bool?Lkyxml::LCreateNode(char?*Nodenameint?NodenameLen)
{
if?(!FreeAllNode())
return?false;
if?(!AddNode(NodenameNodenameLen))
return?false;
return?true;
}
bool?Lkyxml::LAddNode(char?*Nodenameint?NodenameLen)
{
if?(!AddNode(NodenameNodenameLen))
return?false;
return?true;
}
bool?Lkyxml::LAddNodeTable(char?*Tabletypeint?TabletypeLenchar?*Tablenameint?TableLenchar?*TableDataint?TableDataLen)
{
if?(!AddNodeTable(LdynamicMem(Tabletype)TableDataLenLdynamicMem(Tablename)TableLenLdynamicMem(TableData)TableDataLen));
return?false;
return?true;
}
bool?Lkyxml::LCreateElement(char?*Elenameint?ElenameLen)
{
PNode?_node?=?LGetCurrentNode();
while?(_node->ElementHead)
_node->ElementHead?=?FreeElement(_node->ElementHead);
_node->Element?=?_node->ElementHead;
if?(!AddElement(ElenameElenameLen))
return?false;
return?true;
}
bool?Lkyxml::LAddElement(char?*Elenameint?ElenameLen)
{
if?(!AddElement(ElenameElenameLen))
return?false;
return?true;
}
bool?Lkyxml::LAddElementTable(char?*EleTabletypeint?EleTabletypeLenchar?*EleTablenameint?EleTableLenchar?*EleTableDataint?EleTableDataLen)
{
if?(!AddElementTable(LdynamicMem(EleTabletype)EleTabletypeLenLdynamicMem(EleTablename)EleTableLenLdynamicMem(EleTableData)EleTableDataLen))
return?false;
return?true;
}
bool?Lkyxml::LAddElementData(char?*ElaDatanameint?ElaDatanameLenchar?*EleDataint?EleDataLen)
{
if?(!AddElementData(LdynamicMem(ElaDataname)ElaDatanameLenLdynamicMem(EleData)EleDataLen))
return?false;
return?true;
}
bool?Lkyxml::LAddElementDataTable(char?*DataTabletypeint?DataTabletypeLenchar?*DataTablenameint?DataTableLenchar?*DataTableDataint?DataTableDataLen)
{
if?(!AddElementDataTable(LdynamicMem(DataTabletype)DataTabletypeLenLdynamicMem(DataTablename)DataTableLenLdynamicMem(DataTableData)DataTableDataLen))
return?false;
return?true;
}
bool?Lkyxml::LCreatexml()
{
if?(!Createxml())
return?false;
return?true;
}
bool?Lkyxml::LCreatexmlFile(char?*Filename)
{
if?(!CreatexmlFile(Filename))
return?false;
return?true;
}
bool?Lkyxml::LFreeAllNode()
{
if?(!FreeAllNode())
return?false;
return?true;
}
PNode?Lkyxml::LFreeNode(PNode?freenode)
{
return?FreeNode(freenode);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4215??2017-10-04?22:45??Testxm
?????文件???????2111??2017-10-04?22:32??Testxm
?????文件??????42908??2017-10-05?11:31??Testxm
?????文件???????4854??2017-10-04?22:44??Testxm
?????目錄??????????0??2017-10-04?21:02??Testxm
-----------?---------??----------?-----??----
????????????????54088????????????????????5
- 上一篇:gnss衛星定位 c++ O文件N文件
- 下一篇:動態規劃實現最佳加法表達式求最小值
評論
共有 條評論