1

Ich ziehe in einem RSS-Feed, die einen Witz gefolgt von einer Reihe von Links enthält, um den Witz auf verschiedenen Diensten zu teilen. Wie unten gezeigt:XSL Substring-Before mit HTML-Zeichen

enter image description here

Es kann sich lohnen, unter Hinweis darauf, dass, wenn ich versuchte, den Text aus dieser Ausgabe zu kopieren und einzufügen, haben die Links nicht in den Editor kopieren und als Bilder in MS Word eingefügt.

In meinem XSL Ich verwende substring-before in einem Versuch, diese Links von meinem Ausgang auszuschließen, aber der einzige konsistente Charakter, den ich denken kann, zu verwenden, ist die <a href von Hyperlinks, die immer am Ende sein werden. Ist das möglich? Mein erster Versuch fehlgeschlagen, gibt es einen Escape-Charakter, den ich hinzufügen sollte?

Vielleicht werde ich versuchen, nur die letzten X Zeichen auszuschließen die Links zu entfernen

Leider konnte ich keine XML-Version des Feeds finden entweder, meine Quelle ist hier: http://feeds.feedburner.com/DailyJokes-ACleanJokeEveryday?format=xml

Hier die XSL mit denen ich arbeite, die derzeit am Ende des letzten Witz zu brechen hart codiert ist (meine nächste Hürde ist durch diese Liste iterieren)

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="html"/> 
    <xsl:template match="/"> 
    <xsl:apply-templates select="//item[position() &lt; 2]"/> 
    </xsl:template> 

    <xsl:template match="item"> 
    <content-item> 
     <h1><xsl:value-of select="title"/></h1>  
      <p><xsl:value-of select="substring-before(description, 'mower')" disable-output-escaping="yes"/></p> 
     <br/><br/> 
     <p>"The following is here for testing purposes and will be removed"<br/><br/><xsl:value-of select="substring-after(description, 'lawn')" disable-output-escaping="yes"/></p> 
     <br/><br/> 
    </content-item> 
    </xsl:template> 
</xsl:stylesheet> 

Ich rende meine Ausgabe über einen RSS-Feed-Webpart für SharePoint 2013

Antwort

0

Beim Versuch, das richtige XML anzuzeigen, habe ich die Lösung gefunden. Ich sah die Seite Quelle für meine Quell-URL, und daß ich sah, dass die letzten Zeichen werden wie folgt angezeigt:

<title>Hunting with a wife #Joke #Humor</title><description>A hunter visited another hunter and was given a tour of his home. In the den was a stuffed lion.&lt;br /&gt;&lt;br /&gt;The visiting hunter asked, "when did you bag him?"&lt;br /&gt;&lt;br /&gt;The host said, "that was three years ago, when I went hunting with my wife."&lt;br /&gt;&lt;br /&gt;"What's he stuffed with," asked the visiting hunter. "My wife."&lt;div class="feedflare"&gt; 
&lt;a href="http://feeds.feedburner.com/~ff/DailyJokes-ACleanJokeEveryday?a=RT1LsKVBV3Y:0LcrJjJq2X4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DailyJokes-ACleanJokeEveryday?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href.... 

Der Punkt ist, die a href doesnt haben eine < nutzt HTML-Markup &lt;.

substring-before(description, '&lt;a href') funktioniert.