1 Star 0 Fork 0

zhyulo/DocEngine

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
xml.h 1.54 KB
一键复制 编辑 原始数据 按行查看 历史
zhyulo 提交于 2023-02-01 21:51 . 增加父标签记录
#ifndef __XML_H_
#define __XML_H_
#include "str.h"
#include "input.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct xml_item *XmlItem, XmlItemEty;
typedef struct {
XmlItem *list; // 标签列表
int count; // 标签个数
} *XmlItemList, XmlItemListEty;
struct xml_item {
StringEty range; // 标签数据范围
StringEty name; // 标签名
StringMapEty attr; // 标签属性
StringEty val; // 标签内容
XmlItemListEty sub; // 子标签列表
bool hasFreeVal; // 是否包含无标签内容
XmlItem parent; // 父标签
};
typedef XmlItemListEty *XmlDoc, XmlDocEty;
void SetXmlStringEnd(String str);
// 默认XmlItemList非空
void XmlItemListAdd(XmlItemList lst, XmlItem xml);
XmlItem XmlItemListGet(XmlItemList lst, String name);
void XmlItemDiff(XmlItemList baseItems, XmlItemList newItems, XmlItemList diff);
// 默认所有XmlItem、Input非空
void XmlItemPauseAttr(XmlItem xml, Input in);
void XmlItemPauseNote(XmlItem xml, Input in);
void XmlItemPauseState(XmlItem xml, Input in);
XmlItem XmlItemPause(Input in, XmlItem parent);
void XmlItemFree(XmlItem xml);
XmlItem XmlItemSub(XmlItem xml, String name);
bool XmlItemValue(XmlItem xml, String val);
bool XmlItemEqual(XmlItem xml, XmlItem xml2);
// 默认XmlItemList、Input非空
void XmlPause(XmlDoc doc, Input in);
void XmlFree(XmlDoc doc);
bool XmlCharset(XmlDoc doc, String charset);
void XmlDiff(XmlDoc doc, XmlDoc doc2, XmlItemList lst);
#ifdef __cplusplus
}
#endif
#endif
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/zhyulo/DocEngine.git
git@gitee.com:zhyulo/DocEngine.git
zhyulo
DocEngine
DocEngine
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385