这是一个使用序列化和反序列化的详细例子来操作复杂的XML数据,其中还举例数组和List的使用方法和区别。
1![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
using System.Xml;
3
using System.Xml.Serialization;
4
using System.IO;
5![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
namespace SerializableTest
7
{
8
9![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
// The XmlRootAttribute allows you to set an alternate name
11
// (PurchaseOrder) for the XML element and its namespace. By
12
// default, the XmlSerializer uses the class name. The attribute
13
// also allows you to set the XML namespace for the element. Lastly,
14
// the attribute sets the IsNullable property, which specifies whether
15
// the xsi:null attribute appears if the class instance is set to
16
// a null reference.
17
18
19
//[XmlRootAttribute("PurchaseOrder", Namespace = "http://www.cpandl.com", IsNullable = false)]
20
[XmlRootAttribute("PurchaseOrder")]
21
[XmlInclude(typeof(OrderedItem))]
22
public class PurchaseOrder
23
{
24
public Address ShipTo;
25
public string OrderDate;
26
27
// The XmlArrayAttribute changes the XML element name
28
// from the default of "OrderedItems" to "Items".
29
[XmlArrayAttribute("Items")]
30
public OrderedItem[] OrderedItems;
31
[XmlArrayAttribute("Items2")]
32
public List<OrderedItem> OrderedItemList;
33
34
public decimal SubTotal;
35
public decimal ShipCost;
36
public decimal TotalCost;
37
}
38![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
public class Address
40
{
41
// The XmlAttribute instructs the XmlSerializer to serialize the
42
// Name field as an XML attribute instead of an XML element (the
43
// default behavior).
44
[XmlAttribute]
45
public string Name;
46
public string Line1;
47![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
48
// Setting the IsNullable property to false instructs the
49
// XmlSerializer that the XML attribute will not appear if
50
// the City field is set to a null reference.
51
[XmlElementAttribute(IsNullable = false)]
52
public string City;
53
public string State;
54
public string Zip;
55
}
56![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
public class OrderedItem
58
{
59
[XmlAttribute("Name")]
60
public string ItemName;
61
public string Description;
62
public decimal UnitPrice;
63
public int Quantity;
64
public decimal LineTotal;
65![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
66
// Calculate is a custom method that calculates the price per item
67
// and stores the value in a field.
68
public void Calculate()
69
{
70
LineTotal = UnitPrice * Quantity;
71
}
72
}
73![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
public class Test
75
{
76
public static void Main()
77
{
78
// Read and write purchase orders.
79
Test t = new Test();
80
t.CreatePO("po.xml");
81
t.ReadPO("po.xml");
82
Console.Read();
83
}
84![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
85
private void CreatePO(string filename)
86
{
87
// Creates an instance of the XmlSerializer class;
88
// specifies the type of object to serialize.
89
XmlSerializer serializer = new XmlSerializer(typeof(PurchaseOrder));
90
TextWriter writer = new StreamWriter(filename);
91
PurchaseOrder po = new PurchaseOrder();
92![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
93
// Creates an address to ship and bill to.
94
Address billAddress = new Address();
95
billAddress.Name = "Teresa Atkinson";
96
billAddress.Line1 = "1 Main St.";
97
billAddress.City = "AnyTown";
98
billAddress.State = "WA";
99
billAddress.Zip = "00000";
100
// Sets ShipTo and BillTo to the same addressee.
101
po.ShipTo = billAddress;
102
po.OrderDate = System.DateTime.Now.ToLongDateString();
103![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
104
// Creates an OrderedItem.
105
OrderedItem i1 = new OrderedItem();
106
i1.ItemName = "Widget S_1";
107
i1.Description = "Small widget";
108
i1.UnitPrice = (decimal)5.23;
109
i1.Quantity = 3;
110
i1.Calculate();
111![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
112
// Creates an OrderedItem.
113
OrderedItem i2 = new OrderedItem();
114
i2.ItemName = "Widget S_2";
115
i2.Description = "Small widget_2";
116
i2.UnitPrice = (decimal)25.23;
117
i2.Quantity = 3;
118
i2.Calculate();
119![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
120
// Inserts the item into the array.
121
OrderedItem[] items = { i1,i2 };
122![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
123
po.OrderedItemList = new List<OrderedItem>();
124
po.OrderedItemList.Add(i1);
125
po.OrderedItemList.Add(i2);
126![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
127
po.OrderedItems = items;
128
// Calculate the total cost.
129
decimal subTotal = new decimal();
130
foreach (OrderedItem oi in items)
131
{
132
subTotal += oi.LineTotal;
133
}
134
po.SubTotal = subTotal;
135
po.ShipCost = (decimal)12.51;
136
po.TotalCost = po.SubTotal + po.ShipCost;
137
// Serializes the purchase order, and closes the TextWriter.
138
serializer.Serialize(writer, po);
139
writer.Close();
140
}
141![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
142
protected void ReadPO(string filename)
143
{
144
// Creates an instance of the XmlSerializer class;
145
// specifies the type of object to be deserialized.
146
XmlSerializer serializer = new XmlSerializer(typeof(PurchaseOrder));
147
// If the XML document has been altered with unknown
148
// nodes or attributes, handles them with the
149
// UnknownNode and UnknownAttribute events.
150
serializer.UnknownNode += new
151
XmlNodeEventHandler(serializer_UnknownNode);
152
serializer.UnknownAttribute += new
153
XmlAttributeEventHandler(serializer_UnknownAttribute);
154![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
155
// A FileStream is needed to read the XML document.
156
FileStream fs = new FileStream(filename, FileMode.Open);
157
// Declares an object variable of the type to be deserialized.
158
PurchaseOrder po;
159
// Uses the Deserialize method to restore the object's state
160
// with data from the XML document. */
161
po = (PurchaseOrder)serializer.Deserialize(fs);
162
// Reads the order date.
163
Console.WriteLine("OrderDate: " + po.OrderDate);
164![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
165
// Reads the shipping address.
166
Address shipTo = po.ShipTo;
167
ReadAddress(shipTo, "Ship To:");
168
// Reads the list of ordered items.
169
OrderedItem[] items = po.OrderedItems;
170
Console.WriteLine("Items to be shipped:");
171
foreach (OrderedItem oi in items)
172
{
173
Console.WriteLine("\t" +
174
oi.ItemName + "\t" +
175
oi.Description + "\t" +
176
oi.UnitPrice + "\t" +
177
oi.Quantity + "\t" +
178
oi.LineTotal);
179
}
180
// Reads the subtotal, shipping cost, and total cost.
181
Console.WriteLine(
182
"\n\t\t\t\t\t Subtotal\t" + po.SubTotal +
183
"\n\t\t\t\t\t Shipping\t" + po.ShipCost +
184
"\n\t\t\t\t\t Total\t\t" + po.TotalCost
185
);
186
}
187![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
188
protected void ReadAddress(Address a, string label)
189
{
190
// Reads the fields of the Address.
191
Console.WriteLine(label);
192
Console.Write("\t" +
193
a.Name + "\n\t" +
194
a.Line1 + "\n\t" +
195
a.City + "\t" +
196
a.State + "\n\t" +
197
a.Zip + "\n");
198
}
199![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
200
protected void serializer_UnknownNode
201
(object sender, XmlNodeEventArgs e)
202
{
203
Console.WriteLine("Unknown Node:" + e.Name + "\t" + e.Text);
204
}
205![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
206
protected void serializer_UnknownAttribute
207
(object sender, XmlAttributeEventArgs e)
208
{
209
System.Xml.XmlAttribute attr = e.Attr;
210
Console.WriteLine("Unknown attribute " +
211
attr.Name + "='" + attr.Value + "'");
212
}
213
}
214
}
215![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
76
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
77
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
78
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
79
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
80
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
81
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
82
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
83
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
84
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
85
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
86
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
87
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
88
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
89
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
90
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
91
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
92
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
93
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
94
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
95
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
96
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
97
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
98
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
99
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
100
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
101
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
102
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
103
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
104
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
105
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
106
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
107
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
108
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
109
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
110
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
111
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
112
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
113
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
114
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
115
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
116
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
117
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
118
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
119
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
120
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
121
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
122
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
123
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
124
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
125
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
126
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
127
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
128
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
129
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
130
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
131
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
132
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
133
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
134
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
135
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
136
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
137
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
138
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
139
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
140
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
141
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
142
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
143
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
144
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
145
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
146
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
147
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
148
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
149
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
150
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
151
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
152
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
153
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
154
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
155
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
156
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
157
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
158
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
159
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
160
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
161
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
162
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
163
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
164
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
165
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
166
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
167
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
168
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
169
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
170
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
171
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
172
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
173
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
174
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
175
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
176
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
177
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
178
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
179
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
180
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
181
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
182
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
183
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
184
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
185
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
186
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
187
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
188
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
189
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
190
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
191
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
192
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
193
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
194
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
195
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
196
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
197
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
198
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
199
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
200
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
201
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
202
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
203
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
204
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
205
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
206
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
207
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
208
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
209
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
210
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
211
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
212
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
213
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
214
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
215
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)