• 大小: 9KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: C/C++
  • 标签: XML  

资源简介

完全使用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  Testxml\Lkyxml.cpp

     文件       2111  2017-10-04 22:32  Testxml\Lkyxml.h

     文件      42908  2017-10-05 11:31  Testxml\Testxml.cpp

     文件       4854  2017-10-04 22:44  Testxml\Testxml.h

     目录          0  2017-10-04 21:02  Testxml

----------- ---------  ---------- -----  ----

                54088                    5


评论

共有 条评论