From 024d43bd2ed9745999ecd2fad560d6e97e1395ed Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期五, 06 十二月 2024 10:13:44 +0800 Subject: [PATCH] update --- jrj/xframe/kobject/kxml.hpp | 31 ++++++++++++++++++++++++------- 1 files changed, 24 insertions(+), 7 deletions(-) diff --git a/jrj/xframe/kobject/kxml.hpp b/jrj/xframe/kobject/kxml.hpp index ebcdfbe..8606072 100644 --- a/jrj/xframe/kobject/kxml.hpp +++ b/jrj/xframe/kobject/kxml.hpp @@ -13,7 +13,7 @@ class KXMLDOMTextNode; class KXMLDOMProcessingInstruction; class KXMLDOMNodeList; - class KXMLParseError; + class KXMLDOMParseError; enum KDOMNodeType { @@ -141,9 +141,13 @@ this->AddRef(); return (LPARAM)this->getImpl(); } - KXMLDOMNode(LPARAM p) :KXMLDOMNode((void*)p) {} + KXMLDOMNode(LPARAM p) :KXMLDOMNode((void*)p) { + AddRef(); + } public: operator bool() { return impl ? true : false; } + bool operator !=(KXMLDOMNode& rhs) { return rhs.getImpl() != getImpl(); } + bool operator ==(KXMLDOMNode& rhs) { return rhs.getImpl() == getImpl(); } public: void* getImpl(); }; @@ -156,7 +160,7 @@ KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {} KXMLDOMElement() :KXMLDOMNode() {} public: - KXMLDOMElement(LPARAM p) :KXMLDOMNode((void*)p) {} + KXMLDOMElement(LPARAM p) :KXMLDOMNode(p) {} }; class KXMLDOMDocument : public KXMLDOMNode @@ -208,7 +212,7 @@ wchar_t* transformNode(KXMLDOMNode); KXMLDOMNode transformNodeToObject(KXMLDOMNode); - KXMLParseError validate(); + KXMLDOMParseError validate(); //bool validateNode(); public: KXMLDOMDocument(void* impl); @@ -217,6 +221,11 @@ public: const KXMLDOMDocument& operator =(const KXMLDOMDocument& rhs); KXMLDOMDocument(const KXMLDOMDocument& rhs); + public: + void Reset() + { + if (documentElement())removeChild(documentElement()); + } }; class KXMLDOMAttribute : public KXMLDOMNode @@ -275,11 +284,19 @@ using KXMLDOMElement=Hxsoft::XFrame::KXMLDOMElement; using KXMLDOMNodeList = Hxsoft::XFrame::KXMLDOMNodeList; -class KXMLParseError : public KXMLDOMNode +class KXMLDOMParseError : public KXMLDOMNode { public: - KXMLParseError(KXMLDOMNode& v); - KXMLParseError(void* impl) :KXMLDOMNode(impl) {} + KXMLDOMParseError(KXMLDOMNode& v); + KXMLDOMParseError(void* impl) :KXMLDOMNode(impl) {} +public: + int errorCode(); + int filepos(); + int line(); + int linepos(); + BSTR reason(); + BSTR srcText(); + BSTR url(); }; class KXMLDOMElementPtr -- Gitblit v1.9.3