Frage : Gegenstand zur Akte using XML in VS2005 sparen und zurückholend

Ich versuche, eine generische Methode für einen Gegenstand heraus sparen zu einer Akte zu verursachen und er wieder zurückholen.  Ich schätze, dass XML die Weise ist zu gehen, aber alle Beispiele, die ich finde, ein hochgradiges von .NET, als zu fordern ich Zugang to.

What habe ich bin etwas Ähnliches wünsche:

public Kategorie Angestellter {
privater Schnur Name = "";
privates Schnur ssn = "";
allgemeiner Angestellter () {
}
allgemeiner Schnurname {
erhalten {Rückholthis.name; } einstellte
{this.name = Wert; }
}
allgemeine Schnur SSN {
erhalten {Rückholthis.ssn; } einstellte
{this.ssn = Wert; }
}
} möchten

I in der Lage sein, es zu verwenden mögen dieses:

Angestellter emp = neuer Angestellter ();
SaveObject (emp, @ " c:\temp\myemp ");

… und dann later
Angestellter emp = RetrieveObject (@ " c:\temp\m yemp ");

Can dieses erfolgt mit VS2005?  Was enthalten die Methoden?

Antwort : Gegenstand zur Akte using XML in VS2005 sparen und zurückholend

Es ist schwieriger, als es scheint, also ich irgendeinen Code angebracht, der es (unten sehen), da eine PHP-Kategorie tut. Dieses ist nur ein sehr einfacher Korb, aber es kann leicht verlängert werden.

Es verwendet wie so

$b = neues myBasket („basketName“);    // können Sie einige Körbe laufen lassen, verwenden gerade einzigartige Namen

$b->addItem ($productCode);  // addiert 1 Einzelteil

$b->addItem ($productCode2, 10);   // hinzufügt eine Quantität von 10 für productCode2


Zu den Korb anzeigen

$items = $b->fetchAllItems ();
$qty = $b->fetchAllQtys ();

foreach ($items als $index=> $aProductCode) {

     Echo „Produktcode $aProductCode hat {$qty [$index]} Einzelteile
„;
}
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:
6:
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:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
sessName = $name. „_bskt“;
          $this->sessQty  = $name. „_qty“;

          $this->initialise ();
     }





     // ----- Private Methoden -------------------------------------------------


     //-Speicher die gegenwärtige Reihe in einer Lernabschnittvariable
     //
     privates Funktion updateBasket () {
          $_SESSION [$this->sessName] = serialize ($this->basket);
          $_SESSION [$this->sessQty]  = serialize ($this->qty);
     }



     // initialisieren den Korb
     //
     private Funktion initialisieren () {

          //-Überprüfung, wenn Lernabschnitt im Gang ist und wenn den vorhandenen Korb so zurückholen
          //
          wenn (isset ($_SESSION [$this->sessName]) && isset ($_SESSION [$this->sessQty])) {
               $this->basket = unserialize ($_SESSION [$this->sessName]);
               $this->qty    = unserialize ($_SESSION [$this->sessQty]);
          }
          sonst {
               $this->basket = Reihe ();
               $this->qty    = Reihe ();
               $this->updateBasket ();
          }

     }



     // ----- Allgemeine Methoden --------------------------------------------------


     // leeren den Korb heraus
     //
     Funktionsfreier raum () {

          unset ($_SESSION [$this->sessName]);
          unset ($_SESSION [$this->sessQty]);
          $this->initialise ();
     }



     // hinzufügen einen Gegenstand dem Ende der Liste n
     //
     //-Parameter: $item - ein gespeichert zu werden Gegenstand
     //             $num - eine gespeichert zu werden Quantität, Rückstellungen bis 1
     //
     Funktion addItem ($item, $num=1) {
          // sicherstellen den Indexaufenthalt im Schritt thalt, indem es das höchste zurückholt
          //-vorhandener Index und Erhöhen er
          //
          $ctr = Zählimpuls ($this->basket);

          wenn ($ctr > 0) {
               $lastKey = Ende (array_keys ($this->qty));
               $ctr = $lastKey + 1;
          }

          $this->basket [$ctr] = $item;
          $this->qty    [$ctr] = $num;

          $this->updateBasket ();
     }



     // entfernen ein Einzelteil von der Liste - durch die Korbzahl kennzeichnen.
     //-ANMERKUNG, DASS DAS ENTFERNEN EINES EINZELTEILS NICHT DEN KORB ZURÜCKSTELLT, NUMMERIERT in den Reihen.
     //
     //-Parameter: $basketNumber - der Index der von der Reihe zu entfernen Reiheneintragung,
     //
     Funktion rmvItem ($basketNumber) {

          wenn (Zählimpuls ($this->basket) > 0) {

               Vor dem Versuch seines Abbaus, prüfen //-001, ob ein Einzelteil existiert
               //
               wenn (isset ($this->basket [$basketNumber]  )) {
                    unset ($this->basket [$basketNumber]);
                    unset ($this->qty [$basketNumber]);
                    $this->updateBasket ();
               }
          }
     }



     //-Reichweite ein Einzelteil
     //
     //-Parameter: $basketNumber - der Index der von der Reihe zurückzuholenden Reiheneintragung
     //
     Funktion fetchItem ($basketNumber) {
          wenn (Zählimpuls ($this->basket) > 0) {
               Rückhol$this->basket [$basketNumber];
          }
     }



     //-Reichweite ein Quantität für ein Einzelteil
     //
     //-Parameter: $basketNumber - der Index der von der Reihe zurückzuholenden Menge
     //
     Funktion fetchItemQuantity ($basketNumber) {
          wenn (Zählimpuls ($this->qty) > 0) {
               Rückhol$this->qty [$basketNumber];
          }
     }


     //-Änderung ein gegebenes Einzelteil in der Liste
     //
     //-Parameter: $basketNumber - der Index des Gegenstandes zum Update
     //             $anItem - ein Gegenstand
     //
     Funktion chgItem ($basketNumber, $anItem) {
          wenn ($basketNumber >= 0 && Zählimpuls ($this->basket) > 0) {
               Vor dem Versuch seines Abbaus, prüfen //-001, ob ein Einzelteil existiert
               //
               wenn (isset ($this->basket [$basketNumber]  )) {
                    $this->basket [$basketNumber] = $anItem;
                    $this->updateBasket ();
               }
          }
     }



     //-Änderung ein gegebene Einzelteilquantität in der Liste
     //
     //-Parameter: $basketNumber - der Index des Gegenstandes zum Update
     //             $qty - Die neue Quantität
     //
     Funktion chgQty ($basketNumber, $qty) {
          wenn ($basketNumber >= 0 && Zählimpuls ($this->qty) > 0) {

               Vor dem Versuch seines Abbaus, prüfen //-001, ob ein Einzelteil existiert
               //
               wenn (isset ($this->basket [$basketNumber]  )) {
                    $this->qty [$basketNumber] = $qty;
                    $this->updateBasket ();
               }
          }
     }



     // erhalten eine Liste aller Einzelteile im Korb
     //
     Funktion fetchAllItems () {
          Rückhol$this->basket;
     }



     // erhalten eine Liste aller Einzelteilquantitäten, die im Korb gespeichert
     //
     Funktion fetchAllQtys () {
          Rückhol$this->qty;
     }



     // zurückbringt den Zählimpuls der Zahl Einzelteilen im Korb ngt
     //
     Funktion countBasket () {
          Rückholarray_sum ($this->qty);
     }



} //-Ende von Kategorie myBasket
Weitere Lösungen  
 
programming4us programming4us