From 3eb54555f4c8a3df4acc203c28a2138bcbd0ed6f Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期五, 06 十二月 2024 18:05:29 +0800
Subject: [PATCH] update
---
jrj/xframe/kobject/kxml.hpp | 60 ++++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 48 insertions(+), 12 deletions(-)
diff --git a/jrj/xframe/kobject/kxml.hpp b/jrj/xframe/kobject/kxml.hpp
index d3c41a1..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
{
@@ -133,13 +133,43 @@
KXMLDOMNode(const KXMLDOMNode& rhs);
const KXMLDOMNode& operator =(const KXMLDOMNode& rhs);
public:
+ unsigned long AddRef();
+ unsigned long Release();
+ public:
+ LPARAM ptr()
+ {
+ this->AddRef();
+ return (LPARAM)this->getImpl();
+ }
+ 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();
};
+
+ class KXMLDOMElement : public KXMLDOMNode
+ {
+ public:
+ KXMLDOMElement(KXMLDOMNode v);
+ KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {}
+ KXMLDOMElement() :KXMLDOMNode() {}
+ public:
+ KXMLDOMElement(LPARAM p) :KXMLDOMNode(p) {}
+ };
+
class KXMLDOMDocument : public KXMLDOMNode
{
+ public:
+ bool operator !()
+ {
+ return !impl || !documentElement();
+ }
public:
const wchar_t* text();
const wchar_t* url();
@@ -182,7 +212,7 @@
wchar_t* transformNode(KXMLDOMNode);
KXMLDOMNode transformNodeToObject(KXMLDOMNode);
- KXMLParseError validate();
+ KXMLDOMParseError validate();
//bool validateNode();
public:
KXMLDOMDocument(void* impl);
@@ -191,15 +221,13 @@
public:
const KXMLDOMDocument& operator =(const KXMLDOMDocument& rhs);
KXMLDOMDocument(const KXMLDOMDocument& rhs);
+ public:
+ void Reset()
+ {
+ if (documentElement())removeChild(documentElement());
+ }
};
- class KXMLDOMElement : public KXMLDOMNode
- {
- public:
- KXMLDOMElement( KXMLDOMNode v);
- KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {}
- KXMLDOMElement() :KXMLDOMNode() {}
- };
class KXMLDOMAttribute : public KXMLDOMNode
{
public:
@@ -256,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