PDA

نسخه کامل مشاهده نسخه کامل : لطفا مرا در نوشتن اين وب سرويس راهنمايی کنيد



TurboKashef
15-09-2006, 14:22
سلام دوستان. وقتتون بخير
من می خواهم يک وب سرويس بنويسم که صفحات Rss سايتهای ديگر را به صورت پريوديک دريافت کند و آنها را در قالب صفحات Html نشان دهد.
لازم به ذکر است که من تاکنون يه تابع برای اين وب سرويس نوشتم که صفحات Rss را می گيرد وآنها را در يک ديتاست می ريزد. اما من هرطور از اين ديتاست می خواهم خروجی بگيرم، پيغام خطا می دهد.
لطفا مرا راهنمايی کنيد. با تشکر

hamid_xp
16-09-2006, 16:34
سلام . ببین اینی که میگم خیلی مفصله (سعی میکنم سادش کنم )اما خیلی ساده تر از اینه که شما انجام دادی :
اول یه آبجکت xml وارد صفحه میکنی . سپس یه حالا یه فایل xml درست کرده به نام rss.xml و کد زیر رو وارد میکنی :

<?xml version=”1.0”?>
<rss version=”2.0”>
<channel>
<title>Channel title</title>
<link>Link to channel page</link>
<item>
<title>First content item</title>
<link>Link to first content item</link>
<pubDate>First content item publication date</pubDate>
</item>
<item>
<title>Second content item</title>
<link>Link to second content item</link>
<pubDate>Second content item publication date</pubDate>
269
XML Data Display
</item>
<item>
<title>nth content item</title>
<link>Link to nth content item</link>
<pubDate>nth content item publication date</pubDate>
</item>
</channel>
</rss>


سپس یه فایل rss.xsl میسازی . و اطلاعات زیر رو داخلش مینویسی :

<?xml version=”1.0” encoding=”UTF-8”?>
<xsl:stylesheet version=”1.0”
xmlns:xsl=”[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]”>
<xsl:template match=”/”>
<xsl:apply-templates select=”rss/channel” />
</xsl:template>
<xsl:template match=”channel”>
<h2>
<a href=”{link}” target=”_blank”><xsl:value-of select=”title” /></a>
</h2>
<ul>
<xsl:apply-templates select=”item” />
</ul>
</xsl:template>
<xsl:template match=”item”>
<li>
<a href=”{link}” target=”_blank”>
<xsl:value-of select=”title” />
</a>
<xsl:value-of select=”pubDate” />
<br/>
<xsl:value-of disable-output-escaping=”yes” select=”description” />
<p/>
</li>
</xsl:template>
</xsl:stylesheet>

سپس داخل ویژوال استادیو ( کد صفحه ) دو Namespace زیر رو داخل میکنی:
”System.Xml
System.Xml.Xsl
سپس کد زیر را در پروژه وارد میکنی :
private void Page_Load(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(“[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]”);
Xml1.Document = doc;
Xml1.TransformSource = “~/App_Data/RSS.xsl”;
}

یادت باشه یه کنترل xml در ویژوال استادیو به نام Xml1 ایجاد کرده باشی.

این لینکهای rss بالا مثاله باید لینک های سایت مورد نظرت رو به جاش بذاری.

اگه بازم مشکلی بود بگو تا کمکت کنم.

TurboKashef
17-09-2006, 22:48
سلام دوست عزيز
خيلی ممنون از راهنمايی تان. نتيجه رو بهتون خبر می دم
موفق و مويد باشيد. :)

TurboKashef
17-09-2006, 22:49
سلام دوست عزيز
خيلی ممنون از راهنمايی تان. حتما نتيجه را بهتون خبر می دم.
موفق و مويد باشيد. :)