资源简介
完全使用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文件
- 下一篇:动态规划实现最佳加法表达式求最小值
评论
共有 条评论