///XML工具 支持XML的解析及保存
class CTNXMLUtil
{
public:
    CTNXMLUtil();
    ~CTNXMLUtil();

    ///设置XML声明
    void setDeclaration(string sv);

    ///是否已经打开
    bool isOpen();

    ///加载
    bool load(string sFile);

    ///清空
    void clean();

    ///从字符串加载
    bool fromString(string sCont);

    ///获取声明
    string declaration();

    ///获取所有根节点的名称列表
    int getRoots(CSelectHelp& help);

    ///获取某一个级别的所有子项信息 sLayer的参数形式了   级别1.级别2.级别3.... 
    int getNode(string sLayer, CSelectHelp& help, string sep = ".");

    ///获取Slayer的所有下一级子节点
    int getChildNode(string sLayer, CSelectHelp& help, string sep = ".");


    ///设置属性值 sLayer的参数形式了   级别1.级别2.级别3.... 
    bool setProp(string sLayer, string sPropName, string sValue, string sep = ".");

    ///设置值
    bool setValue(string sLayer, string sValue, string sep = ".");

    ///如果sFile为空时,默认使用原有打开文件名
    bool toFile(string sFile);

    ///获取整个串
    string toString();

    ///插入,代表需要属性,一个help中的所有列都会变成属性值,如果设定了sValueField的值,哪么此值就是行的值
    bool insert(string sLayer, string sName, CSelectHelp& help, string sValueField="",string sRowName="row",string sep = ".");

    ///插入属性值
    bool insertWithProp(string sLayer,string sProp, string sPropValue,string sName, CSelectHelp& help, string sValueField = "", string sRowName = "row", string sep = ".");

    //插入节点,包括不需要属性,生产的xml属性会变成一个单独的节点
    bool insertOneNode(string sLayer, string sName,string sValue,CIntent& help, string sep = ".");

    //插入节点
    bool insertOneNodeWithProp(string sLayer,string sProp,string sPropValue,string sName, string sValue, CIntent& help, string sep = ".");

    //插入一些属性值的值
    bool insertNoProp(string sLayer, string sName, CSelectHelp& help, string sRowName = "row", string sep = ".");

    ///sLayer 为空,则代表整个树,返回的help为 name,id,parent_id,value,prop(这个是一个子help,0x05,0x06分隔)
    void getTree(string sLayer, CSelectHelp& help,string sep=".",bool bAllProp=false);

};
Copyright © TouchNet 2015 all right reserved,powered by Gitbook最后修订时间: 2022-06-21 09:21:04

results matching ""

    No results matching ""