这例子是为我的试验项目"SLShowCase"做的读取xml的试验.看到园子里的朋友做到
仿163幻灯片的demo就提前发上来了.
项目的功能是做案例展示.
ok 首先,先定义xml.
projects.xml
<?
xml version="1.0" encoding="utf-8"
?>
<
projects
>
<
project
id
="1"
title
="nasa.wang @ cnblogs"
category
="web"
hit
="23"
createdate
="2008-4-9"
converpic
="null"
iscommend
="true"
votenum
="8"
score
="10"
>
</
project
>
</
projects
>
在sl中定义类.
public
class
project
{
public
int
id {
get
;
set
; }
public
string
title {
get
;
set
; }
public
string
category {
get
;
set
; }
public
int
hit {
get
;
set
; }
public
DateTime createdate {
get
;
set
; }
public
string
converpic {
get
;
set
; }
public
bool
iscommend {
get
;
set
; }
public
int
votenum {
get
;
set
; }
public
int
score {
get
;
set
; }
//
public IList<pitem> pitems { get; set; }
//
public IList<pcomment> pcomments { get; set; }
}
使用WebClient来加载数据.linq来格式化数据.
public
Page()
{
InitializeComponent();
WebClient client
=
new
WebClient();
client.DownloadStringAsync(
new
Uri(HtmlPage.Document.DocumentUri,
"
projects.xml
"
));
client.DownloadStringCompleted
+=
new
DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
}
void
client_DownloadStringCompleted(
object
sender, DownloadStringCompletedEventArgs e)
{
XmlReader reader
=
XmlReader.Create(
new
StringReader(e.Result));
XDocument document
=
XDocument.Load(reader);
var projects
=
from f
in
document.Descendants(
"
project
"
)
select
new
project
{
id
=
int
.Parse(f.Attribute(
"
id
"
).Value),
title
=
f.Attribute(
"
title
"
).Value,
category
=
f.Attribute(
"
category
"
).Value,
hit
=
int
.Parse(f.Attribute(
"
hit
"
).Value),
createdate
=
DateTime.Parse(f.Attribute(
"
createdate
"
).Value),
converpic
=
f.Attribute(
"
converpic
"
).Value,
iscommend
=
bool
.Parse(f.Attribute(
"
iscommend
"
).Value),
votenum
=
int
.Parse(f.Attribute(
"
votenum
"
).Value),
score
=
int
.Parse(f.Attribute(
"
score
"
).Value),
};
List
<
project
>
_projects
=
new
List
<
project
>
();
_projects.AddRange(projects);
txtStatus.Text
=
"
read success for
"
+
_projects[
0
].title;
}
读取完毕. ;)
代码下载:
http://files.cnblogs.com/nasa/silverlight/readxmlfile.zip
作者:nasa
出处:http://nasa.cnblogs.com
联系:
[email protected]
QQ:12446006