private buildForNode ( System.Xml.Linq.XElement element ) : |
||
element | System.Xml.Linq.XElement | |
리턴 |
internal SdNodeSet buildForNode(XElement element)
{
if (element == null)
return this;
name = element.Name.LocalName;
_items.Clear();
attrs.clear();
{
foreach (var p in element.Attributes()) {
attrs.set(p.Name.LocalName, p.Value);
}
foreach (var p in element.Elements()) {
if (p.HasAttributes == false) {
if (new List<XNode>(p.Nodes()).Count == 1) {
var p2 = p.FirstNode;
if (p2 != null && p2.NodeType == System.Xml.XmlNodeType.Text) {
attrs.set(p.Name.LocalName, p.Value);
}
}
}
}
}
_dtype = attrs.getInt("dtype");
foreach (XElement e1 in element.Elements()) {
if (e1.HasAttributes) {
SdNode temp = Util.createNode(source).buildForNode(e1);
this.add(temp);
}
else if(e1.HasElements){
SdNodeSet temp = Util.createNodeSet(source).buildForNode(e1);
this.add(temp);
}
}
OnDidInit();
return this;
}
public void DoLoad() { xmlHeadName = attrs.getString("head", xmlHeadName); xmlBodyName = attrs.getString("body", xmlBodyName); xmlScriptName = attrs.getString("script", xmlScriptName); head = Util.createNodeSet(this); head.buildForNode(root.Element(xmlHeadName)); body = Util.createNodeSet(this); body.buildForNode(root.Element(xmlBodyName)); if (schema == 0) { head.attrs = this.attrs; } else { head.attrs.addAll(this.attrs); } title = head.attrs.getString("title"); expr = head.attrs.getString("expr"); url = head.attrs.getString("url"); url_md5 = Util.md5(url); _encode = head.attrs.getString("encode"); _ua = head.attrs.getString("ua"); //---------- //放后面 // js = new JsEngine(this); jscript = new SdJscript(this, root.Element(xmlScriptName)); jscript.loadJs(js); root = null; }