private XmlNode WriteAttribute(XmlNode parentNode, string nodeName, object nodeValue, WriteNodeValueKind writeKind)
 {
     if (parentNode == null)
     {
         throw new FireSpiderException("�ڵ�Ϊ�գ��޷��������ԣ�");
     }
     XmlNode attributeNode;
     if (writeKind == WriteNodeValueKind.NewNodeWrite)
     {
         attributeNode = media.CreateNode(nodeName, nodeValue);
         attributeNode = parentNode.Attributes.Append((XmlAttribute)attributeNode);
     }
     else
     {
         attributeNode = media.GetNode(parentNode, nodeName);
         if (attributeNode == null)
         {
             if (writeKind == WriteNodeValueKind.NotExistsError)
             {
                 throw new NodeNotFoundException("�޷��ҵ�����Ϊ" + nodeName + "��Xml�ڵ㡣");
             }
             attributeNode = media.CreateNode(nodeName, nodeValue);
             attributeNode = parentNode.Attributes.Append((XmlAttribute)attributeNode);
         }
     }
     return attributeNode;
 }
 private XmlNode WriteChildNode(XmlNode parentNode, string nodeName, object nodeValue, WriteNodeValueKind writeKind)
 {
     if (parentNode == null)
     {
         throw new FireSpiderException("���ڵ�Ϊ�գ��޷������ӽڵ㣡");
     }
     if (nodeName == null)
     {
         return parentNode;
     }
     else
     {
         XmlNode valueNode;
         if (writeKind == WriteNodeValueKind.NewNodeWrite)
         {
             valueNode = media.CreateNode(nodeName, nodeValue);
             valueNode = parentNode.AppendChild((XmlNode)valueNode);
         }
         else
         {
             valueNode = media.GetNode(parentNode, nodeName);
             if (valueNode == null)
             {
                 if (writeKind == WriteNodeValueKind.NotExistsError)
                 {
                     throw new NodeNotFoundException("�޷��ҵ�����Ϊ" + nodeName + "��Xml�ڵ㡣");
                 }
                 valueNode = media.CreateNode(nodeName, nodeValue);
                 valueNode = parentNode.AppendChild((XmlNode)valueNode);
             }
         }
         return valueNode;
     }
 }
 protected override void WriteValue(object parentNode, string nodeName, object nodeValue, WriteNodeValueKind writeKind)
 {
     XmlNode containerNode = WriteChildNode((XmlNode)parentNode, nodeName, nodeValue, writeKind);
     containerNode.RemoveAll();
     XmlNode valueNode = document.CreateNode(XmlNodeType.Text, nodeName, null);
     valueNode = containerNode.AppendChild((XmlNode)valueNode);
     valueNode.Value = (string)nodeValue;
 }
 protected abstract void WriteValue(object parentNode, string nodeName, object nodeValue, WriteNodeValueKind writeKind);
 public override void WriteUInt64(object parentNode, string nodeName, ulong nodeValue, WriteNodeValueKind writeKind)
 {
     WriteValue(parentNode, nodeName, dataType.FromUInt64(nodeValue), writeKind);
 }
 public override void WriteObject(object parentNode, string nodeName, object nodeValue, WriteNodeValueKind writeKind)
 {
     WriteValue(parentNode, nodeName, dataType.FromObject(nodeValue), writeKind);
 }
 public override void WriteDouble(object parentNode, string nodeName, double nodeValue, WriteNodeValueKind writeKind)
 {
     WriteValue(parentNode, nodeName, dataType.FromDouble(nodeValue), writeKind);
 }
 public override void WriteChar(object parentNode, string nodeName, char nodeValue, WriteNodeValueKind writeKind)
 {
     WriteValue(parentNode, nodeName, dataType.FromChar(nodeValue), writeKind);
 }
示例#9
0
 public abstract void WriteString(object parentNode, string nodeName, string nodeValue, WriteNodeValueKind writeKind);
示例#10
0
 public void WriteEnum(object parentNode, string nodeName, object value, WriteNodeValueKind writeKind)
 {
     WriteString(parentNode, nodeName, value.ToString(), writeKind);
 }
示例#11
0
 public abstract void WriteDecimal(object parentNode, string nodeName, decimal nodeValue, WriteNodeValueKind writeKind);
示例#12
0
 public abstract void WriteDateTime(object parentNode, string nodeName, DateTime nodeValue, WriteNodeValueKind writeKind);
示例#13
0
 public abstract void WriteBoolean(object parentNode, string nodeName, bool nodeValue, WriteNodeValueKind writeKind);
示例#14
0
 public abstract void WriteBinary(object parentNode, string nodeName, byte[] nodeValue, WriteNodeValueKind writeKind);
 public override void WriteBinary(object parentNode, string nodeName, byte[] nodeValue, WriteNodeValueKind writeKind)
 {
     WriteValue(parentNode, nodeName, dataType.FromBinary(nodeValue, 0), writeKind);
 }
 public override void WriteBoolean(object parentNode, string nodeName, bool nodeValue, WriteNodeValueKind writeKind)
 {
     WriteValue(parentNode, nodeName, dataType.FromBoolean(nodeValue), writeKind);
 }
示例#17
0
 public abstract void WriteUInt16(object parentNode, string nodeName, ushort nodeValue, WriteNodeValueKind writeKind);
 public override void WriteDecimal(object parentNode, string nodeName, decimal nodeValue, WriteNodeValueKind writeKind)
 {
     WriteValue(parentNode, nodeName, dataType.FromDecimal(nodeValue), writeKind);
 }
示例#19
0
 public abstract void WriteUInt64(object parentNode, string nodeName, ulong nodeValue, WriteNodeValueKind writeKind);
示例#20
0
 public XmlNode WriteNode(XmlNode parentNode, string nodeName, WriteNodeValueKind writeKind)
 {
     return WriteChildNode(parentNode, nodeName, null, writeKind);
 }
 public override void WriteGuid(object parentNode, string nodeName, Guid nodeValue, WriteNodeValueKind writeKind)
 {
     WriteValue(parentNode, nodeName, dataType.FromGuid(nodeValue), writeKind);
 }
 public override void WriteInt16(object parentNode, string nodeName, short nodeValue, WriteNodeValueKind writeKind)
 {
     WriteValue(parentNode, nodeName, dataType.FromInt16(nodeValue), writeKind);
 }
 protected override void WriteValue(object parentNode, string nodeName, object nodeValue, WriteNodeValueKind writeKind)
 {
     XmlNode valueNode = WriteAttribute((XmlNode)parentNode, nodeName, nodeValue, writeKind);
     valueNode.Value = (string)nodeValue;
 }