⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exmlnode.cpp

📁 电力故障信息采集,主要是针对南自的保护装置,这个程序用在Linux操作系统下
💻 CPP
字号:
#include "EXMLNode.h"#include "EXMLAttribute.h"#include "WP_EXMLNode.h"#include "WP_EXMLAttribute.h"IEXMLNode::IEXMLNode(){    m_bAttach = false;    m_handle = 0;}IEXMLNode::IEXMLNode(const char* pszName, const char* pszValue){    m_bAttach = true;    m_handle = (EXML_HANDLE) new WP_EXMLNode(pszName, pszValue);}IEXMLNode::IEXMLNode(EXML_HANDLE handle){    m_handle = handle;    m_bAttach = false;}IEXMLNode::~IEXMLNode(){    if (m_bAttach && EXML_INVALID_HANDLE != m_handle)        delete (WP_EXMLNode*)m_handle;}//IEXMLNode* IEXMLNode::CreateNode(const char* pszName, const char* pszValue)//{//    return new IEXMLNode(pszName, pszValue);//}IEXMLNode IEXMLNode::AddChild(const char* pszName, const char* pszValue){    EXML_HANDLE handle = (EXML_HANDLE) ((WP_EXMLNode*)m_handle)->AddChild(pszName, pszValue);    return IEXMLNode(handle);}IEXMLAttribute IEXMLNode::AddAttribute(const char* pszName, const char* pszValue){    EXML_HANDLE handle = (EXML_HANDLE) ((WP_EXMLNode*)m_handle)->AddAttribute(pszName, pszValue);    return IEXMLAttribute(handle);}void IEXMLNode::AddChild(IEXMLNode *pChild){    pChild->Detach();    ((WP_EXMLNode*)m_handle)->AddChild((WP_EXMLNode*)(pChild->m_handle));}void IEXMLNode::RemoveChild(IEXMLNode *pNode){    ((WP_EXMLNode*)m_handle)->RemoveChild((WP_EXMLNode*)(pNode->m_handle));    pNode->Attach();    delete ((WP_EXMLNode*)pNode->GetHandle());}void IEXMLNode::AddAttribute(IEXMLAttribute *pAttri){    pAttri->Detach();    ((WP_EXMLNode*)m_handle)->AddAttribute((WP_EXMLAttribute*)(pAttri->GetHandle()));}void IEXMLNode::RemoveAttribute(IEXMLAttribute *pAttri){    ((WP_EXMLNode*)m_handle)->RemoveAttribute((WP_EXMLAttribute*)(pAttri->GetHandle()));    pAttri->Detach();    delete ((WP_EXMLAttribute*)pAttri->GetHandle());}void IEXMLNode::SetName(const char *pszName){    ((WP_EXMLNode*)m_handle)->SetName(pszName);}void IEXMLNode::SetValue(const char *pszValue){    ((WP_EXMLNode*)m_handle)->SetValue(pszValue);}const char* IEXMLNode::GetName(){    return ((WP_EXMLNode*)m_handle)->GetName();}const char* IEXMLNode::GetValue(){    return ((WP_EXMLNode*)m_handle)->GetValue();}IEXMLNode IEXMLNode::GetChildNode(long index){    EXML_HANDLE handle = (EXML_HANDLE) ((WP_EXMLNode*)m_handle)->GetChildNode(index);    return IEXMLNode(handle);}IEXMLNode IEXMLNode::FindChild(const char *pszQuery){    EXML_HANDLE handle = (EXML_HANDLE) ((WP_EXMLNode*)m_handle)->FindChild(pszQuery);    return IEXMLNode(handle);}IEXMLAttribute IEXMLNode::GetAttribute(long index){    EXML_HANDLE handle = (EXML_HANDLE) ((WP_EXMLNode*)m_handle)->GetAttribute(index);    return IEXMLAttribute(handle);}IEXMLAttribute IEXMLNode::FindAttribute(const char *szQuery){    EXML_HANDLE handle = (EXML_HANDLE) ((WP_EXMLNode*)m_handle)->FindAttribute(szQuery);    return IEXMLAttribute(handle);}long IEXMLNode::GetChildCount(){    return ((WP_EXMLNode*)m_handle)->GetChildCount();}long IEXMLNode::GetAttributeCount(){    return ((WP_EXMLNode*)m_handle)->GetAttributeCount();}const char *IEXMLNode::GetXML(){    int nFormatTabs = 0;    return ((WP_EXMLNode*)m_handle)->GetXML(nFormatTabs);}bool IEXMLNode::IsValidNode(){    return (EXML_INVALID_HANDLE != m_handle);}

/// 兼容QT
bool IEXMLNode::isNull()
{
    return (EXML_INVALID_HANDLE == m_handle);
}EXML_HANDLE IEXMLNode::GetHandle(){    return m_handle;}void IEXMLNode::Attach(){    m_bAttach = true;}void IEXMLNode::Detach(){    m_bAttach = false;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -