SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




XML File als RSS Feed anbieten

Unbeantwortet Dieser Beitrag hat 17 Antworten

Ohne Rang
194 Beiträge
Florian Lippert erstellt 9 Juni 2011 14:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

regelmäßig wird eine XML-Datei angelegt, die als RSS-Feed dienen soll. Diese liegt in einer DocLib.

Wie kann ich es machen, dass diese XML als RSS-Feed eingebunden werden kann?

Wenn ich die XML einfach mal in meinem IE öffne kann ich nich den Punkt mit dem RSS-Symbol auswählen. Der Tooltip sagt "Keine Feeds auf dieser Seite gefunden"

Inhalt der XML-Datei:

[quote]

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://servername/_layouts/RssXslt.aspx" version="1.0"?>
<rss version="2.0" xmlns:srrt="http://schemas.microsoft.com/WebParts/v3/srchrss/runtime" xmlns:media="http://search.yahoo.com/mrss/" xmlns:search="http://schemas.microsoft.com/SharePoint/Search/RSS">
<channel>

<title>my Blogs</title>
<link>http://servername/SitePages/Home.aspx</link>
<description>Feed description</description>
<language>en-us</language>
<item>
<title>TestBild</title>
<link>https://servername/Blog/Lists/Posts/Post.aspx?ID=7</link>
<description>test test2​</description>
<pubDate>2011-06-07 14:48:10</pubDate>
<author>Name</author>
</item>

......

(Weitere Items)

.......

</channel>
</rss>

[/quote]

Danke für eure Hilfe...

VG

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Juni 2011 14:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

IE erkennt die Feeds einer Seite über ein <link rel="alternate" type="application/rss+xml" ... im HTML-Quelltext einer Seite. Das heißt für Dich, daß Du außerhalb der eigentlichen XML-Datei einen solchen Link in eine SharePoint-Seite einbauen mußt.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
194 Beiträge
Florian Lippert Als Antwort am 9 Juni 2011 15:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Aber würde das nicht bedeuten, dass ich die Vorlage/Masterpage anpassen müsste? oO

Oder könnte dich die Seite mit dem Desginer anpassen?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Juni 2011 16:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das kommt darauf an, wo Du diesen Link haben möchtest. Wenn er quasi überall sein soll, dann muß die Masterpage angepaßt werden. Wenn er Dir auf einer bestimmten Seite reicht, kannst Du ihn dort mit SharePoint Designer oder einfach in ein Inhaltseditor-Webpart einfügen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
194 Beiträge
Florian Lippert Als Antwort am 10 Juni 2011 08:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Es soll sich dabei um nur eine Seite handeln. Bei dieser Seite handelt es sich um eine "Liste" (ist keine wirkliche Liste) mit zusammen gesammelten Daten und der RSS-Feed soll dann nur die 10 neusten anbieten... Also Liste und XML Datei stehen.. Ich versuchs mal...

Ohne Rang
194 Beiträge
Florian Lippert Als Antwort am 10 Juni 2011 08:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Öhm... irgendwie versteh ich das mit dem InhaltsEditor nicht...

Wenn ich den Bearbeite kann ich ja nen Link angeben, was ja wohl nich ganz richtig ist oder?

Und wenn ich text eingebe in dem Editor (nicht da wo ich den Link eingeben kann) dann wird der mit angezeigt....

 

Edit:

Habs!

Ohne Rang
194 Beiträge
Florian Lippert Als Antwort am 10 Juni 2011 08:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nun hab ich den Link drin und auch im IE taucht jetzt der RSS-Feed auf...

aber wenn ich da drauf klicke öffnet sich der Dialog mit "Möchten Sie dieses Dokument speichern?".

Was kann ich tun, dass er nich die Datei öffnet sondern ich den Feed abbonieren kann?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Juni 2011 08:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das kann ich Dir jetzt leider nicht mehr sagen. Offenbar merkt der IE, daß es sich "nur" um eine Datei handelt und nicht wirklich um einen RSS-Feed. Ich denke, das hat etwas mit dem vom IIS gesendeten Mime-Type zu tun, wüßte aber nicht, wie man das für eine einzelne Datei ändern kann.

Ich selbst würde mir im Zweifel einen eigenen Service oder eine eigene Seite entwickeln, die die Datei ausliefert.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
194 Beiträge
Florian Lippert Als Antwort am 10 Juni 2011 08:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wie auffwändig ist den so eine Entwicklung eines Service oder einer Site?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Juni 2011 09:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das hängt vom Vorwissen ab und davon wie flexibel die Lösung sein soll. Ich tippe mal auf ein paar wenige Stunden.

PS: ich meinte nicht eine Site, sondern eine simple (aspx-)Seite, die nur die Datei RSS-konform liefert.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
194 Beiträge
Florian Lippert Als Antwort am 10 Juni 2011 09:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ufff..

Wenn die Seite nicht flexibel sein soll und stumpf eine RSS-Datei ausgeben soll, könntest du mir da nen "Anfang" oder nen Beispiel geben?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Juni 2011 09:59
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich kenne Dein Vorwissen aber nicht.

Grundsätzlich:
Hole das aktuelle Web SPWeb web = SPContext.Current.Web;
Holde die Datei: SPFile file = web.OpenFile("URL zur Datei");
An den Dateiinhalt kommst Du über file.OpenBinary. Diesen Inhalt schreibst Du in den Ausgabestrom (nachdem Du ihn vorher geleert hast):
Response.Clear()
Response.Write(...)
Response.End()
Außerdem mußt Du noch den Mime-Header passend setzen, aber da weiß ich im Moment nicht, was für RSS paßt.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
194 Beiträge
Florian Lippert Als Antwort am 10 Juni 2011 10:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also ich soll die Inhalt der XML-Datei einfach in die ASPX schreiben? seh ich das richtig?

Wie würde man denn den mime-type bei anderen sachen setzen?

Ohne Rang
4614 Beiträge
Michael Greth Als Antwort am 10 Juni 2011 10:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Florian

kurz OT: die Benachrichtigungen an deine Emailadresse sammy150@w....  kommen immer mit unbekannte Nutzer zurück - vielleicht schaust du mal nach was dort nicht geht.

Besten Gruß

Michael

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Juni 2011 10:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Florian Lippert"]Also ich soll die Inhalt der XML-Datei einfach in die ASPX schreiben? seh ich das richtig?[/quote]

Nein. Die aspx muß Code enthalten, der die XML-Datei ausliest und in den Response-Stream schreibt. MimeTypes kann man über Response.Header setzen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
194 Beiträge
Florian Lippert Als Antwort am 10 Juni 2011 11:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

@Michael: also die mailaddi stimmt und es kam auch schonmal was an... hmm....

@Andi:

Sorry, doof ausgedrückt gehabt.. Das meinte ich, dass ich mit Code den Inhalt aus der XML schreibe

Dann auf auf an den Versuche :P

Und Danke für die Hilfe!

Ohne Rang
194 Beiträge
Florian Lippert Als Antwort am 14 Juni 2011 10:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

*mit der hand an die stirn schlag* Ohman....

Es gibt einen einfacheren Weg, ganz ohne XMLFile:

Da ich ja bisher eigentlich eine XML-Datei erstellt habe hatte ich den Code um die Struktur zu schreiben ect.

Nun habe ich einfach diese Struktur nicht in rss.xml sondern ins rss.aspx geschrieben. Siehe da, es läuft ohne Probleme :)

(Die aspx habe ich ganz normal in eine BibLib geladen...)

So spart man sich auch das erstellen einer xml-datei, das schreiben in diese, das auslesen dieser, den code nochmal in eine aspx zu schreiben.

Danke für die Hilfe! Top!

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 14 Juni 2011 11:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das hätte ich Dir auch gleich sagen können, aber ich dachte die Datei kommt von ganz woanders...

:-)

Viele Grüße
Andi
af @ evocom de
Blog