Pascal Peridont 19 лет назад
Родитель
Сommit
b8d6c4d41d
2 измененных файлов с 8 добавлено и 24 удалено
  1. 4 12
      std/js/JsXml__.hx
  2. 4 12
      std/neko/NekoXml__.hx

+ 4 - 12
std/js/JsXml__.hx

@@ -47,14 +47,6 @@ class JsXml__ {
 	public var _attributes : Hash<String>;
 	public var _children : Array<Xml>;
 
-	private static function unescape( s : String ) : String {
-		return s.split("&lt;").join("<").split("&gt;").join(">").split("&quot;").join("\"").split("&amp;").join("&");
-	}
-
-	private static function escape( s : String ) : String {
-		return s.split("&").join("&amp;").split("\"").join("&quot;").split("<").join("&lt;").split(">").join("&gt;");
-	}
-
 	public static function parse( str : String ) : Xml {
 		var rules = [enode,epcdata,ecdata,edoctype,eend,ecomment,eprolog];
 		var nrules = rules.length;
@@ -72,7 +64,7 @@ class JsXml__ {
 						current.addChild(x);
 						str = r.matchedRight();
 						while( eattribute.match(str) ) {
-							x.set(eattribute.matched(1),unescape(eattribute.matched(2)));
+							x.set(eattribute.matched(1),eattribute.matched(2));
 							str = eattribute.matchedRight();
 						}
 						if( !eclose.match(str) ) {
@@ -85,7 +77,7 @@ class JsXml__ {
 						}
 						str = eclose.matchedRight();
 					case 1: // PCData
-						var x = Xml.createPCData(unescape(r.matched(0)));
+						var x = Xml.createPCData(r.matched(0));
 						current.addChild(x);
 						str = r.matchedRight();
 					case 2: // CData
@@ -376,7 +368,7 @@ class JsXml__ {
 
 	public function toString() {
 		if( nodeType == Xml.PCData )
-			return escape(_nodeValue);
+			return _nodeValue;
 		if( nodeType == Xml.CData )
 			return "<![CDATA["+_nodeValue+"]]>";
 		if( nodeType == Xml.Comment || nodeType == Xml.DocType || nodeType == Xml.Prolog )
@@ -391,7 +383,7 @@ class JsXml__ {
 				s.add(" ");
 				s.add(k);
 				s.add("=\"");
-				s.add(escape(_attributes.get(k)));
+				s.add(_attributes.get(k));
 				s.add("\"");
 			}
 			if( _children.length == 0 ) {

+ 4 - 12
std/neko/NekoXml__.hx

@@ -43,14 +43,6 @@ class NekoXml__ {
 
 	private static var _parse = neko.Lib.load("std","parse_xml",2);
 
-	private static function unescape( s : String ) : String {
-		return s.split("&lt;").join("<").split("&gt;").join(">").split("&quot;").join("\"").split("&amp;").join("&");
-	}
-
-	private static function escape( s : String ) : String {
-		return s.split("&").join("&amp;").split("\"").join("&quot;").split("<").join("&lt;").split(">").join("&gt;");
-	}
-
 	static function parse( xmlData : String ) : Xml {
 		var x = new NekoXml__();
 
@@ -67,7 +59,7 @@ class NekoXml__ {
 					var i = 0;
 					var l = __dollar__asize(f);
 					while( i < l ) {
-						__dollar__objset(att,f[i], unescape(new String(__dollar__objget(att,f[i]))) );
+						__dollar__objset(att,f[i], new String(__dollar__objget(att,f[i]))) ;
 						i++;
 					}
 					this.cur.addChild(x);
@@ -85,7 +77,7 @@ class NekoXml__ {
 				var x : Dynamic = new NekoXml__();
 				x._parentNode = untyped this.cur;
 				x.nodeType = Xml.PCData;
-				x._nodeValue = unescape(new String(text));
+				x._nodeValue = new String(text);
 				untyped this.cur.addChild(x);
 			},
 			comment : function(text) {
@@ -329,7 +321,7 @@ class NekoXml__ {
 
 	public function toString() {
 		if( nodeType == Xml.PCData )
-			return escape(_nodeValue);
+			return _nodeValue;
 		if( nodeType == Xml.CData )
 			return "<![CDATA["+_nodeValue+"]]>";
 		if( nodeType == Xml.Comment || nodeType == Xml.DocType || nodeType == Xml.Prolog )
@@ -344,7 +336,7 @@ class NekoXml__ {
 				s.add(" ");
 				s.add(k);
 				s.add("=\"");
-				s.add(escape(Reflect.field(_attributes,k)));
+				s.add(Reflect.field(_attributes,k));
 				s.add("\"");
 			}
 			if( _children.length == 0 ) {