1
如见Web2.0被吵的如火如荼,同时也有很多的评论褒贬不一。有人说Web2.0就是“一帮人在看皇帝的新装而已”。也有人说Web2.0将是一场变革。无论这些争论有没有价值,但我相信,存在就有它的必然性。也许Web2.0更像是一种商业模式,一个观念的变革而非技术。
2
不管怎样,它来了,你准备好了吗?
3
说到Web2.0,就会提到Blog、TAG、SNS、RSS、wiki这些软件应用和xml、ajax等这些新理论和技术实现。
4
RSS毋容置疑就是其重要的应用之一。
5![](/Images/OutliningIndicators/None.gif)
6
那么什么是RSS?它到底有什么用呢?
7![](/Images/OutliningIndicators/None.gif)
8
RSS是站点与站点之间共享内容的一种简易方式(也称为“聚合内容”),通常被用于新闻和其他按顺序排列的网站,例如Blog网站。网站提供RSS输出,有利于让用户发现网站内容的更新。网站用户可以在客户端借助于类似新闻资讯阅读器等支持RSS的新闻聚合工具软件,在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。
9
RSS是基于XML的一种形式。并且所有的RSS文件都要遵守万维网联盟(W3C)站点发布的XML 1.0规范。具体格式可以查一下RSS 2.0规范,这里就不再重复粘贴了。
10![](/Images/OutliningIndicators/None.gif)
11
下面是我总结的几种RSS的技术实现代码:
12![](/Images/OutliningIndicators/None.gif)
13
1.在线生成RSS聚合页。
14![](/Images/OutliningIndicators/None.gif)
15
(1)创建Rss.aspx
16
<%@ Page language="c#" Codebehind="Rss.aspx.cs" AutoEventWireup="false" Inherits="LiTianPing.Rss" %>
17
只留下这一行,其余的都删掉。
18![](/Images/OutliningIndicators/None.gif)
19
(2)后台代码;Rss.aspx.cs
20![](/Images/OutliningIndicators/None.gif)
21
private void Page_Load(object sender, System.EventArgs e)
22
{
23
Response.ContentType="text/xml";
24
Response.Write(GetRSS());
25
}
26![](/Images/OutliningIndicators/None.gif)
27
/// <summary>
28
/// 取得聚合文章
29
/// </summary>
30
/// <returns></returns>
31
public string GetRSS()
32
{
33
News t=new News();//自己的业务类
34
DataSet ds=t.GetListByClass(1);//根据类别得到数据
35
36
StringBuilder strCode=new StringBuilder();
37
strCode.Append("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>");
38
strCode.Append("<rss version='2.0' xmlns:dc=\"http://purl.org/dc/elements/1.1/\"");
39
strCode.Append(" xmlns:trackback=\"http://madskills.com/public/xml/rss/module/trackback/\" ");
40
strCode.Append(" xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\" xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\">");
41
strCode.Append("<channel>");
42
strCode.Append("<title>李天平RSSDemo</title>");
43
strCode.Append("<link>http://"+Request.ServerVariables["SERVER_NAME"]+"</link> ");
44
strCode.Append("<description>天道酬勤</description> ");
45
strCode.Append("<copyright>Copyright 2005</copyright> ");
46
47
foreach(DataRow row in ds.Tables[0].Rows)
48
{
49
string Id=row["Id"].ToString();
50
string title=row["title"].ToString();
51
string description=row["description"].ToString();
52
string pubdate=row["pubdate"].ToString();
53
string ClassId=row["ClassId"].ToString();
54
//string author=row["author"].ToString();
55![](/Images/OutliningIndicators/InBlock.gif)
56
strCode.Append("<item>");
57
strCode.Append("<title>"+title+"</title>");
58
strCode.Append("<link>http://"+Request.ServerVariables["SERVER_NAME"]+"/NewsShow.aspx?ID="+Id+"</link>");
59
strCode.Append("<subject>"+description+"</subject>");
60
strCode.Append("<description><![CDATA["+description+"]]></description>");
61
strCode.Append("<PubDate>"+pubdate+"</PubDate>");
62
strCode.Append("<category>"+ClassId+"</category>");
63
strCode.Append("</item>");
64
}
65
strCode.Append("</channel>");
66
strCode.Append("</rss>");
67
return strCode.ToString();
68
}
69![](/Images/OutliningIndicators/None.gif)
70![](/Images/OutliningIndicators/None.gif)
71
2.在线RSS阅读获取。
72![](/Images/OutliningIndicators/None.gif)
73
页面代码:
74
<P style="FONT-SIZE: 11px">
75
Feed种子:<asp:TextBox id="FeedUrl" runat="server" Width="440px"></asp:TextBox><BR>
76
显示条数:<asp:TextBox id="Num" runat="server" Width="48px"></asp:TextBox></P>
77
<P style="FONT-SIZE: 11px">
78
<asp:Button id="GetFeed" runat="server" Text="获得RSS"></asp:Button><BR>
79
<BR>
80
<asp:Label id="RssFeed" runat="server"></asp:Label></P>
81![](/Images/OutliningIndicators/None.gif)
82
后台代码:
83
/// <summary>
84
/// 获得要显示的Feed种子数据
85
/// </summary>
86
/// <param name="RssUrl"></param>
87
/// <param name="showNewsCount"></param>
88
/// <returns></returns>
89
public string LoadRSS(string RssUrl, int showNewsCount)
90
{
91
string strRssList = "";
92
string strMsg;
93
try
94
{
95
XmlDocument objXMLDoc = new XmlDocument();
96
objXMLDoc.Load(RssUrl);
97
XmlNodeList objItems = objXMLDoc.GetElementsByTagName("item");
98
99
if(showNewsCount > 30)
100
showNewsCount = 10;
101
if(showNewsCount < 1)
102
showNewsCount = objItems.Count;
103
104
string title="";
105
string link="";
106
int i;
107![](/Images/OutliningIndicators/InBlock.gif)
108
if(objXMLDoc.HasChildNodes == true)
109
{
110
i = 1;
111
foreach(XmlNode objNode in objItems)
112
{
113
if(i<=showNewsCount)
114
{
115
if(objNode.HasChildNodes == true)
116
{
117
XmlNodeList objItemsChild = objNode.ChildNodes;
118
foreach(XmlNode objNodeChild in objItemsChild)
119
{
120
switch(objNodeChild.Name)
121
{
122
case "title":
123
title = objNodeChild.InnerText;
124
break;
125
case "link":
126
link = objNodeChild.InnerText;
127
break;
128
}
129
}
130
i = i+1;
131
strRssList += "<a href=" + link +" target=_blank>" + title + "</a><br>";
132
}
133
}
134
}
135
}
136
strMsg = strRssList;
137
}
138
catch
139
{
140
strMsg = "RSS Feed 源数据出错!";
141
}
142
return strMsg;
143
}
144![](/Images/OutliningIndicators/None.gif)
145
//获取按钮,获取指定RSS
146
private void GetFeed_Click(object sender, System.EventArgs e)
147
{
148
if(FeedUrl.Text == "")//RSS地址
149
{
150
RssFeed.Text = "信息源不能为空,您可刷新重试或联系管理员!";
151
return ;
152
}
153
RssFeed.Text = LoadRSS(FeedUrl.Text,Convert.ToInt32(Num.Text)); //获取指定数目
154
}
155![](/Images/OutliningIndicators/None.gif)
156
3.无刷新动态更新的在线RSS阅读获取
157![](/Images/OutliningIndicators/None.gif)
158
<%@ Page language="c#" Codebehind="XmlHttp.aspx.cs" AutoEventWireup="false" Inherits="LiTianPing.XmlHttp" %>
159
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
160
<HTML>
161
<HEAD>
162
<title>XmlHttp</title>
163
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
164
<meta name="CODE_LANGUAGE" Content="C#">
165
<meta name="vs_defaultClientScript" content="JavaScript">
166
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
167
<style>td { font-size: 9pt}
168
</style>
169
<script>
170
<!--
171
var oDiv
172
var xh
173
function getXML()
174
{
175
xh =new ActiveXObject("Microsoft.XMLHTTP");
176
oDiv = document.getElementById("rssitem");
177
oDiv.style.display= "";
178
try
179
{
180
//如果是本地改成下面语句直接读取
181
//xh.open("GET","/Rss.aspx",false);
182
xh.open("GET","Http://ltp.cnblogs.com/Rss.aspx",false);
183
xh.send(null);
184
loadData(xh,oDiv);
185
}
186
catch(e)
187
{
188
error(oDiv);
189
}
190
}
191
function loadData(xh,oDiv)
192
{
193
if (xh.readyState == 4)
194
{
195
xml = xh.responsexml;
196
var i;
197
var nodes = xml.selectNodes("/rss/channel/item");
198
var bloglink = xml.selectSingleNode("/rss/channel/link").text;
199
oDiv.innerHTML = "";
200
var html;
201
for(i=0;i<nodes.length;i++)
202
{
203
204
html += "<div >";
205
html += " <div >";
206
html += " <a class=font1 href='" +nodes[i].selectSingleNode("link").text + "' target='_blank'>" + nodes[i].selectSingleNode("title").text +"</a><BR><BR>";
207
html += " </div>";
208
html += " <div >";
209
html += " " +nodes[i].selectSingleNode("description").text;
210
html += " </div>"
211
//html += " </div>";
212
html += "</div><hr>";
213![](/Images/OutliningIndicators/InBlock.gif)
214
}
215
oDiv.innerHTML = html;
216
}
217
else
218
{
219
error(oDiv);
220
}
221
}
222![](/Images/OutliningIndicators/None.gif)
223
function error(oDiv)
224
{
225
oDiv.innerHTML = "载入失败";
226
}
227
-->
228
</script>
229
</HEAD>
230
<body MS_POSITIONING="GridLayout" onload="window.setTimeout('getXML()',200);">
231
<form id="Form1" method="post" runat="server">
232
<div align=center>
233
<table cellpadding="0" cellspacing="0" border="0" width="80%">
234
<tr>
235
<td>
236
<div id="rssitem" style="WIDTH:80%">数据载入中
</div>
237
</td>
238
</tr>
239
</table>
240
</div>
241
</form>
242
</body>
243
</HTML>
244![](/Images/OutliningIndicators/None.gif)
245![](/Images/OutliningIndicators/None.gif)
246![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/None.gif)
17
![](/Images/OutliningIndicators/None.gif)
18
![](/Images/OutliningIndicators/None.gif)
19
![](/Images/OutliningIndicators/None.gif)
20
![](/Images/OutliningIndicators/None.gif)
21
![](/Images/OutliningIndicators/None.gif)
22
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
26
![](/Images/OutliningIndicators/None.gif)
27
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
31
![](/Images/OutliningIndicators/None.gif)
32
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/InBlock.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/InBlock.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/InBlock.gif)
46
![](/Images/OutliningIndicators/InBlock.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
49
![](/Images/OutliningIndicators/InBlock.gif)
50
![](/Images/OutliningIndicators/InBlock.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/InBlock.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/InBlock.gif)
58
![](/Images/OutliningIndicators/InBlock.gif)
59
![](/Images/OutliningIndicators/InBlock.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/InBlock.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/InBlock.gif)
64
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
65
![](/Images/OutliningIndicators/InBlock.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/InBlock.gif)
68
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
69
![](/Images/OutliningIndicators/None.gif)
70
![](/Images/OutliningIndicators/None.gif)
71
![](/Images/OutliningIndicators/None.gif)
72
![](/Images/OutliningIndicators/None.gif)
73
![](/Images/OutliningIndicators/None.gif)
74
![](/Images/OutliningIndicators/None.gif)
75
![](/Images/OutliningIndicators/None.gif)
76
![](/Images/OutliningIndicators/None.gif)
77
![](/Images/OutliningIndicators/None.gif)
78
![](/Images/OutliningIndicators/None.gif)
79
![](/Images/OutliningIndicators/None.gif)
80
![](/Images/OutliningIndicators/None.gif)
81
![](/Images/OutliningIndicators/None.gif)
82
![](/Images/OutliningIndicators/None.gif)
83
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
84
![](/Images/OutliningIndicators/InBlock.gif)
85
![](/Images/OutliningIndicators/InBlock.gif)
86
![](/Images/OutliningIndicators/InBlock.gif)
87
![](/Images/OutliningIndicators/InBlock.gif)
88
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
89
![](/Images/OutliningIndicators/None.gif)
90
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
91
![](/Images/OutliningIndicators/InBlock.gif)
92
![](/Images/OutliningIndicators/InBlock.gif)
93
![](/Images/OutliningIndicators/InBlock.gif)
94
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
95
![](/Images/OutliningIndicators/InBlock.gif)
96
![](/Images/OutliningIndicators/InBlock.gif)
97
![](/Images/OutliningIndicators/InBlock.gif)
98
![](/Images/OutliningIndicators/InBlock.gif)
99
![](/Images/OutliningIndicators/InBlock.gif)
100
![](/Images/OutliningIndicators/InBlock.gif)
101
![](/Images/OutliningIndicators/InBlock.gif)
102
![](/Images/OutliningIndicators/InBlock.gif)
103
![](/Images/OutliningIndicators/InBlock.gif)
104
![](/Images/OutliningIndicators/InBlock.gif)
105
![](/Images/OutliningIndicators/InBlock.gif)
106
![](/Images/OutliningIndicators/InBlock.gif)
107
![](/Images/OutliningIndicators/InBlock.gif)
108
![](/Images/OutliningIndicators/InBlock.gif)
109
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
110
![](/Images/OutliningIndicators/InBlock.gif)
111
![](/Images/OutliningIndicators/InBlock.gif)
112
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
113
![](/Images/OutliningIndicators/InBlock.gif)
114
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
115
![](/Images/OutliningIndicators/InBlock.gif)
116
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
117
![](/Images/OutliningIndicators/InBlock.gif)
118
![](/Images/OutliningIndicators/InBlock.gif)
119
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
120
![](/Images/OutliningIndicators/InBlock.gif)
121
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
122
![](/Images/OutliningIndicators/InBlock.gif)
123
![](/Images/OutliningIndicators/InBlock.gif)
124
![](/Images/OutliningIndicators/InBlock.gif)
125
![](/Images/OutliningIndicators/InBlock.gif)
126
![](/Images/OutliningIndicators/InBlock.gif)
127
![](/Images/OutliningIndicators/InBlock.gif)
128
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
129
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
130
![](/Images/OutliningIndicators/InBlock.gif)
131
![](/Images/OutliningIndicators/InBlock.gif)
132
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
133
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
134
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
135
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
136
![](/Images/OutliningIndicators/InBlock.gif)
137
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
138
![](/Images/OutliningIndicators/InBlock.gif)
139
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
140
![](/Images/OutliningIndicators/InBlock.gif)
141
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
142
![](/Images/OutliningIndicators/InBlock.gif)
143
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
144
![](/Images/OutliningIndicators/None.gif)
145
![](/Images/OutliningIndicators/None.gif)
146
![](/Images/OutliningIndicators/None.gif)
147
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
148
![](/Images/OutliningIndicators/InBlock.gif)
149
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
150
![](/Images/OutliningIndicators/InBlock.gif)
151
![](/Images/OutliningIndicators/InBlock.gif)
152
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
153
![](/Images/OutliningIndicators/InBlock.gif)
154
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
155
![](/Images/OutliningIndicators/None.gif)
156
![](/Images/OutliningIndicators/None.gif)
157
![](/Images/OutliningIndicators/None.gif)
158
![](/Images/OutliningIndicators/None.gif)
159
![](/Images/OutliningIndicators/None.gif)
160
![](/Images/OutliningIndicators/None.gif)
161
![](/Images/OutliningIndicators/None.gif)
162
![](/Images/OutliningIndicators/None.gif)
163
![](/Images/OutliningIndicators/None.gif)
164
![](/Images/OutliningIndicators/None.gif)
165
![](/Images/OutliningIndicators/None.gif)
166
![](/Images/OutliningIndicators/None.gif)
167
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
168
![](/Images/OutliningIndicators/None.gif)
169
![](/Images/OutliningIndicators/None.gif)
170
![](/Images/OutliningIndicators/None.gif)
171
![](/Images/OutliningIndicators/None.gif)
172
![](/Images/OutliningIndicators/None.gif)
173
![](/Images/OutliningIndicators/None.gif)
174
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
175
![](/Images/OutliningIndicators/InBlock.gif)
176
![](/Images/OutliningIndicators/InBlock.gif)
177
![](/Images/OutliningIndicators/InBlock.gif)
178
![](/Images/OutliningIndicators/InBlock.gif)
179
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
180
![](/Images/OutliningIndicators/InBlock.gif)
181
![](/Images/OutliningIndicators/InBlock.gif)
182
![](/Images/OutliningIndicators/InBlock.gif)
183
![](/Images/OutliningIndicators/InBlock.gif)
184
![](/Images/OutliningIndicators/InBlock.gif)
185
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
186
![](/Images/OutliningIndicators/InBlock.gif)
187
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
188
![](/Images/OutliningIndicators/InBlock.gif)
189
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
190
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
191
![](/Images/OutliningIndicators/None.gif)
192
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
193
![](/Images/OutliningIndicators/InBlock.gif)
194
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
195
![](/Images/OutliningIndicators/InBlock.gif)
196
![](/Images/OutliningIndicators/InBlock.gif)
197
![](/Images/OutliningIndicators/InBlock.gif)
198
![](/Images/OutliningIndicators/InBlock.gif)
199
![](/Images/OutliningIndicators/InBlock.gif)
200
![](/Images/OutliningIndicators/InBlock.gif)
201
![](/Images/OutliningIndicators/InBlock.gif)
202
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
203
![](/Images/OutliningIndicators/InBlock.gif)
204
![](/Images/OutliningIndicators/InBlock.gif)
205
![](/Images/OutliningIndicators/InBlock.gif)
206
![](/Images/OutliningIndicators/InBlock.gif)
207
![](/Images/OutliningIndicators/InBlock.gif)
208
![](/Images/OutliningIndicators/InBlock.gif)
209
![](/Images/OutliningIndicators/InBlock.gif)
210
![](/Images/OutliningIndicators/InBlock.gif)
211
![](/Images/OutliningIndicators/InBlock.gif)
212
![](/Images/OutliningIndicators/InBlock.gif)
213
![](/Images/OutliningIndicators/InBlock.gif)
214
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
215
![](/Images/OutliningIndicators/InBlock.gif)
216
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
217
![](/Images/OutliningIndicators/InBlock.gif)
218
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
219
![](/Images/OutliningIndicators/InBlock.gif)
220
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
221
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
222
![](/Images/OutliningIndicators/None.gif)
223
![](/Images/OutliningIndicators/None.gif)
224
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
225
![](/Images/OutliningIndicators/InBlock.gif)
226
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
227
![](/Images/OutliningIndicators/None.gif)
228
![](/Images/OutliningIndicators/None.gif)
229
![](/Images/OutliningIndicators/None.gif)
230
![](/Images/OutliningIndicators/None.gif)
231
![](/Images/OutliningIndicators/None.gif)
232
![](/Images/OutliningIndicators/None.gif)
233
![](/Images/OutliningIndicators/None.gif)
234
![](/Images/OutliningIndicators/None.gif)
235
![](/Images/OutliningIndicators/None.gif)
236
![](/Images/OutliningIndicators/None.gif)
![](/Images/dot.gif)
237
![](/Images/OutliningIndicators/None.gif)
238
![](/Images/OutliningIndicators/None.gif)
239
![](/Images/OutliningIndicators/None.gif)
240
![](/Images/OutliningIndicators/None.gif)
241
![](/Images/OutliningIndicators/None.gif)
242
![](/Images/OutliningIndicators/None.gif)
243
![](/Images/OutliningIndicators/None.gif)
244
![](/Images/OutliningIndicators/None.gif)
245
![](/Images/OutliningIndicators/None.gif)
246
![](/Images/OutliningIndicators/None.gif)