zoukankan      html  css  js  c++  java
  • wp7 xml

    public class DynamicXMLNode : DynamicObject
    {
    XElement node;
    public DynamicXMLNode(XElement node)
    {
    this.node = node;
    }
    public DynamicXMLNode()
    {
    }
    public DynamicXMLNode(String name)
    {
    node = new XElement(name);
    }
    public override bool TrySetMember(
    SetMemberBinder binder, object value)
    {
    XElement setNode = node.Element(binder.Name);
    if (setNode != null)
    setNode.SetValue(value);
    else
    {
    if (value.GetType() == typeof(DynamicXMLNode))
    node.Add(new XElement(binder.Name));
    else
    node.Add(new XElement(binder.Name, value));
    }
    return true;
    }
    public override bool TryGetMember(
    GetMemberBinder binder, out object result)
    {
    XElement getNode = node.Element(binder.Name);
    if (getNode != null)
    {
    result = new DynamicXMLNode(getNode);
    return true;
    }
    else
    {
    result = null;
    return false;
    }
    }

    public override bool TryConvert(
    ConvertBinder binder, out object result)
    {
    if (binder.Type == typeof(String))
    {
    result = node.Value;
    return true;
    }
    else
    {
    result = null;
    return false;
    }
    }

    public override bool TryInvokeMember(
    InvokeMemberBinder binder,
    object[] args,
    out object result)
    {
    Type xmlType = typeof(XElement);
    try
    {
    result = xmlType.InvokeMember(
    binder.Name,
    BindingFlags.InvokeMethod |
    BindingFlags.Public |
    BindingFlags.Instance,
    null, node, args);
    return true;
    }
    catch
    {
    result = null;
    return false;
    }
    }

    }

  • 相关阅读:
    占位
    提高班整风带给我的思考
    Servlet笔记
    CommandArgument传多个值
    asp.net中怎么判断request的一个值是否为空
    asp.net中cookie中文乱码的解决
    datatable的手工构造过程
    .net c#日期时间函数大全
    【转载】[.net程序员面试题]
    javascript自动生成表格行
  • 原文地址:https://www.cnblogs.com/androllen/p/3484625.html
Copyright © 2011-2022 走看看