forked from kaelzhang/neuron.js
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathxml.js
More file actions
65 lines (45 loc) · 1.06 KB
/
xml.js
File metadata and controls
65 lines (45 loc) · 1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/**
* module xml
*/
var
NODE_PARSER = NR.S,
HOST = NR.__HOST;
/**
* parse a xml string into XML Object(DOM Document)
* from jQuery
* @param {string} data xml string
*/
function parseXML(data){
var xml, docElement;
// Standard
if(HOST.DOMParser){
xml = (new DOMParser).parseFromString( data , "text/xml" );
// IE
}else{
xml = new ActiveXObject( "Microsoft.XMLDOM" );
xml.async = "false";
xml.loadXML( data );
}
docElement = xml.documentElement;
if (!docElement || !docElement.nodeName || docElement.nodeName === "parsererror" ) {
NR.error( "Invalid XML: " + data );
}
return xml;
};
/**
*
*/
function makeXML(xml){
return NR.isString(xml) ? parseXML(xml) : xml;
};
// parse a xml string
exports.parse = parseXML;
// find the first element matches the expression
exports.find = function(selector, context, first){
return NODE_PARSER.find(selector, makeXML(context), first);
};
/**
change log:
2012-10-18 Kael:
- NOT migrated to neuron 2.0 yet!
*/