Пример #1
0
 protected void ParseWsdlArrayType(XmlAttribute attr)
 {
     if (attr.NamespaceURI == wsdlNS && attr.LocalName == arrayType)
     {
         string ns = "", type, dimensions;
         TypeTranslator.ParseArrayType(attr.Value, out type, out ns, out dimensions);
         if (ns != "")
         {
             ns = Reader.LookupNamespace(ns) + ":";
         }
         attr.Value = ns + type + dimensions;
     }
 }
        protected void WriteXmlAttribute(XmlNode node, object container)
        {
            XmlAttribute attr = node as XmlAttribute;

            if (attr == null)
            {
                throw new InvalidOperationException("The node must be either type XmlAttribute or a derived type.");
            }

            if (attr.NamespaceURI == XmlSerializer.WsdlNamespace)
            {
                // The wsdl arrayType attribute needs special handling
                if (attr.LocalName == "arrayType")
                {
                    string ns, type, dimensions;
                    TypeTranslator.ParseArrayType(attr.Value, out type, out ns, out dimensions);
                    string value = GetQualifiedName(type + dimensions, ns);
                    WriteAttribute(attr.Prefix, attr.LocalName, attr.NamespaceURI, value);
                    return;
                }
            }

            WriteAttribute(attr.Prefix, attr.LocalName, attr.NamespaceURI, attr.Value);
        }