From 90e3cd57d7cf80588608b28b1301824b40f677ca Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期三, 04 十二月 2024 08:30:31 +0800
Subject: [PATCH] update

---
 jrj/xframe/kobject/kxml.hpp |   31 ++++++++++++++++++++++---------
 1 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/jrj/xframe/kobject/kxml.hpp b/jrj/xframe/kobject/kxml.hpp
index f6ed27c..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,7 +141,9 @@
 			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(); }
@@ -158,9 +160,7 @@
 		KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {}
 		KXMLDOMElement() :KXMLDOMNode() {}
 	public:
-		KXMLDOMElement(LPARAM p) :KXMLDOMNode((void*)p) {
-			AddRef();
-		}
+		KXMLDOMElement(LPARAM p) :KXMLDOMNode(p) {}
 	};
 
 	class KXMLDOMDocument : public KXMLDOMNode
@@ -212,7 +212,7 @@
 
 		wchar_t* transformNode(KXMLDOMNode);
 		KXMLDOMNode transformNodeToObject(KXMLDOMNode);
-		KXMLParseError validate();
+		KXMLDOMParseError validate();
 		//bool validateNode();
 	public:
 		KXMLDOMDocument(void* impl);
@@ -221,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
@@ -279,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