如何使用 XSLT 提取 HTML 站点的多个元素?
How to extract multiple elements of a HTML site using XSLT?
我想从 XHTML 站点中提取多个元素。我设法识别并标记了一个元素,但是一旦有两个元素,输出中就看不到秒数了。
XHTML 站点示例
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="de" id=
"vbulletin_html">
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Apple macOS version 5.6.0" />
<base href="http://forum.pcgames.de/" />
<!--[if IE]></base><![endif]-->
<link rel="canonical" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html" />
<meta http-equiv="Content-Type" content=
"text/html; charset=utf-8" />
<meta id="e_vb_meta_bburl" name="vb_meta_bburl" content=
"http://forum.pcgames.de" />
<meta name="generator" content="vBulletin 4.2.2" />
<meta name="theme-color" content="#333333" />
<meta name="msapplication-navbutton-color" content="#333333" />
<meta name="apple-mobile-web-app-status-bar-style" content=
"#333333" />
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<meta name="viewport" content=
"width=device-width,initial-scale=1.0,maximum-scale=1.0" />
<link rel="Shortcut Icon" href=
"http://forum.pcgames.de/favicon.ico" type="image/x-icon" />
<script type="text/javascript" src=
"http://www.pcgames.de/bcommon/js/jquery/jquery.finger.min.js"></script>
<title>[Erfahrungsaustausch / Spoileralarm] Hilfe - Ich weiß nicht
weiter!</title>
<link rel="canonical" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html" />
<script type="text/javascript" src=
"http://forum.pcgames.de/clientscript/vbulletin_ajax_threadrate.js?v=422"></script>
<link rel="stylesheet" type="text/css" href=
"http://forum.pcgames.de/css.php?styleid=11&langid=2&d=1535117522&td=ltr&sheet=toolsmenu.css,postlist.css,showthread.css,postbit.css,options.css,attachment.css,poll.css,lightbox.css" />
<link href=
'http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700'
rel='stylesheet' type='text/css' />
<link rel="stylesheet" type="text/css" href=
"http://forum.pcgames.de/css.php?styleid=11&langid=2&d=1535117522&td=ltr&sheet=additional.css" />
<script type="text/javascript" src=
"http://forum.pcgames.de/themecrate/debutant/clientscript/core.js?v=20171017"></script>
</head>
<body>
<div id="content-container">
<div id="main-content" class="clearfix">
<div class="menu">
<div class="wrapper"><a href="http://www.pcgames.de/" class="logo"
alt="PC Games" title="zur Startseite"></a> <a href=
"javascript:void(0)" class="menu_button"></a>
<ul id="navtabs" class="navtabs floatcontainer">
<li class="selected subMenu" id="vbtab_forum"><a class=
"mainMenu navtab dropdown" href=
"http://forum.pcgames.de/forum.php">Forum</a>
<ul class="floatcontainer">
<li id="vbflink_newposts" class="subItemA"><a href=
"http://forum.pcgames.de/search.php?do=getdaily&exclude=3476,3512,3519,3544,3545,3531,3524,3525,3534,3528,3535,3533,3549">
Die letzten 100 Beiträge</a></li>
<li id="vbflink_faq" class="subItemA"><a href=
"http://forum.pcgames.de/faq.php">Hilfe</a></li>
<li id="vbflink_calendar" class="subItemA"><a href=
"http://forum.pcgames.de/calendar.php">Kalender</a></li>
<li class="popupmenu subMenu"><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return false;">Community</a>
<ul>
<li id="vbclink_groups" class="subItemA"><a href=
"http://forum.pcgames.de/groups/">Gruppen</a></li>
<li id="vbclink_albums" class="subItemA"><a href=
"http://forum.pcgames.de/members/albums.html">Bilder &
Alben</a></li>
<li id="vbclink_members" class="subItemA"><a href=
"http://forum.pcgames.de/members/list/">Benutzerliste</a></li>
</ul>
</li>
<li class="popupmenu subMenu"><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return false;">Aktionen</a>
<ul>
<li id="vbalink_mfr" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/forumdisplay.php?do=markread&markreadhash=guest">
Alle Foren als gelesen markieren</a></li>
</ul>
</li>
<li class="popupmenu subMenu"><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return false;">Nützliche Links</a>
<ul>
<li id="vbqlink_posts" class="subItemA"><a href=
"http://forum.pcgames.de/search.php?do=getdaily&days=7">Diskussionen
der letzten 7 Tage</a></li>
<li id="link_mtg3_542" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=finduser&userid=0&starteronly=1&contenttype=vBForum_Post">
Meine Themen</a></li>
<li id="link_mtg3_639" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=finduser&userid=0&contenttype=vBForum_Post&showposts=1">
Meine Beiträge</a></li>
<li id="link_mtg3_831" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=finduser&userid=0&starteronly=0&contenttype=vBForum_Post">
Themen mit eigenen Beiträgen</a></li>
<li id="vbqlink_leaders" class="subItemA"><a href=
"http://forum.pcgames.de/showgroups.php">Forum-Mitarbeiter
anzeigen</a></li>
<li id="vbqlink_online" class="subItemA"><a href=
"http://forum.pcgames.de/online.php">Wer ist online</a></li>
<li id="link_ndgx_744" class="subItemA"><a href="/chat/">Chat
(IRC)</a></li>
</ul>
</li>
</ul>
</li>
<li class="subMenu" id="vbtab_blog"><a class=
"mainMenu navtab dropdown" href=
"http://forum.pcgames.de/blogs/">Blogs</a>
<ul class="floatcontainer">
<li id="vbblog_recent" class="subItemA"><a href=
"http://forum.pcgames.de/blogs/recent-entries/">Neue
Blog-Einträge</a></li>
<li id="vbblog_popular" class="subItemA"><a href=
"http://forum.pcgames.de/blogs/best-entries/">Top Einträge</a></li>
<li id="vbblog_member" class="subItemA"><a href=
"http://forum.pcgames.de/blogs/all/">Blogliste</a></li>
</ul>
</li>
<li class="subMenu" id="vbtab_whatsnew"><a rel="nofollow" class=
"mainMenu navtab dropdown" href=
"http://forum.pcgames.de/search.php?do=getnew&contenttype=vBForum_Post&exclude=3476,3512,3519,3544,3545,3531,3524,3525,3534,3528,3535,3533,3549">
Was ist neu?</a>
<ul class="floatcontainer">
<li id="vbnew_activitystream" class="subItemA"><a href=
"http://forum.pcgames.de/activity.php">Aktivitäten</a></li>
<li id="vbnew_newposts" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&contenttype=vBForum_Post">
Neue Beiträge</a></li>
<li id="vbnew_groupm" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&contenttype=vBForum_SocialGroupMessage">
Neue Diskussionen</a></li>
<li id="vbnew_events" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&contenttype=vBForum_Event">
Neue Termine</a></li>
<li id="vbnew_entries" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&contenttype=vBBlog_BlogEntry">
Neue Blog-Einträge</a></li>
<li id="vbnew_mfr" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/forumdisplay.php?do=markread&markreadhash=guest">
Alle Foren als gelesen markieren</a></li>
</ul>
</li>
<li class="subMenu" id="vbtab_activity"><a class="mainMenu navtab"
href="http://forum.pcgames.de/activity.php">Aktivitäten</a></li>
</ul>
<a target="_blank" alt="www.gamesworld.de" title=
"zur Gamesworld-Startseite" href="http://www.gamesworld.de" class=
"logo partner" rel="nofollow"></a>
<ul class="usermenu guest">
<li><a class="loginbtn" name="login-dialog" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#login-dialog">
Anmelden</a></li>
<li><a class="registerbtn" href=
"http://forum.pcgames.de/register.php">Registrieren</a></li>
</ul>
<div class="clear"></div>
</div>
</div>
<div class="wrapper">
<div class="above_body">
<div id="header" class="floatcontainer doc_header">
<div class="bannerFrame">
<div class="adikett" id="6517819" data-type-id="banner"></div>
</div>
<div class="ad_global_header"></div>
<hr /></div>
</div>
<div class="body_wrapper loggedout">
<div class="skyFrame">
<div class="adikett" id="6517818" data-type-id="sky"></div>
</div>
<div id="breadcrumb" class="breadcrumb">
<ul class="floatcontainer">
<li class="navbithome"><a href="http://forum.pcgames.de/"
accesskey="1"></a></li>
<li class="navbit"><a href=
"http://forum.pcgames.de/">Forum</a></li>
<li class="navbit"><a href=
"http://forum.pcgames.de/spieleforum/41">Spieleforum</a></li>
<li class="navbit"><a href=
"http://forum.pcgames.de/videospiele-allgemein/3470">Videospiele
allgemein</a></li>
<li class="navbit lastnavbit">
<h1><span><a href="javascript:location.reload();" title=
"Seite neu laden">[Erfahrungsaustausch / Spoileralarm] Hilfe - Ich
weiß nicht weiter!</a></span></h1>
</li>
</ul>
<hr /></div>
<div id="above_postlist" class="above_postlist">
<div id="pagination_top" class="pagination_top">
</div>
</div>
<div id="pagetitle" class="pagetitle">
<div id="vbseo-likes"><span class="vbseo-likes-count" onclick=
"vbseoui.tree_dropdown()"><img src=
"http://forum.pcgames.de/vbseo/resources/images/forum/vbseo_likes_heart.png"
class="vbseo-likes-count-image" alt="" />52<em>Gefällt
mir</em></span>
<div id="liketree_1.9326273" class="vbseo-likes-container">
<ul class="vbseo-likes-tabs">
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return vbseoui.treetab_click(0)">Top</a></li>
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return vbseoui.treetab_click(1)">Alle</a></li>
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return vbseoui.treetab_click(2)">Aktuelle Seite</a></li>
</ul>
<ul class="vbseo-likes-list"></ul>
</div>
</div>
</div>
<div id="thread_controls" class="thread_controls toolsmenu">
<div>
<ul id="postlist_popups" class="postlist_popups popupgroup">
<li class="popupmenu" id="threadtools">
<h6><a class="popupctrl" href=
"javascript://">Themen-Optionen</a></h6>
<ul class="popupbody popuphover">
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter-print.html"
accesskey="3" rel="nofollow">Druckbare Version zeigen</a></li>
<li><a href=
"http://forum.pcgames.de/sendmessage.php?do=sendtofriend&t=9326273"
rel="nofollow">Thema weiterempfehlen…</a></li>
<li><a href=
"http://forum.pcgames.de/subscription.php?do=addsubscription&t=9326273"
rel="nofollow">Thema abonnieren…</a></li>
</ul>
</li>
<li class="popupmenu" id="threadrating">
<h6><a class="popupctrl" href="javascript://">Thema
bewerten</a></h6>
<div class="popupbody popuphover">
<form action="http://forum.pcgames.de/threadrate.php" method="post"
id='showthread_threadrate_form'>
<ul>
</ul>
<input type="hidden" name="s" value="" /> <input type="hidden"
name="securitytoken" value="guest" /> <input type="hidden" name="t"
value="9326273" /> <input type="hidden" name="pp" value="20" />
<input type="hidden" name="page" value="1" /></form>
</div>
</li>
</ul>
</div>
</div>
<div id="postlist" class="postlist restrain">
<ol id="posts" class="posts" start="1">
<li class="postbitlegacy postbitim postcontainer old" id=
"post_9651357">
<div class="posthead"><span class="postdate old"><span class=
"date">23.10.2013, <span class=
"time">15:06</span></span></span> <span class=
"nodecontrols"><a name="post9651357" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#post9651357"
class="postcounter">#1</a><a id="postcount9651357" name=
"1"></a></span></div>
<div class="postdetails">
<div class="userinfo">
<div class="userdetails hasavatar">
<div class="username_container">
<div class="popupmenu memberaction"><a rel="nofollow" class=
"username offline" href=
"http://forum.pcgames.de/members/2905424-monalye.html" title=
"Monalye ist offline"><strong>Monalye</strong></a></div>
<img class="inlineimg onlinestatus" src=
"http://forum.pcgames.de/themecrate/debutant/statusicon/user-offline.png"
alt="Monalye ist offline" border="0" /></div>
<span class="usertitle">Erfahrener Benutzer</span></div>
<a rel="nofollow" class="postuseravatar" href=
"http://forum.pcgames.de/members/2905424-monalye.html" title=
"Monalye ist offline"><img src=
"http://forum.pcgames.de/customavatars/avatar2905424_9.gif" alt=
"Avatar von Monalye" title="Avatar von Monalye" /></a>
<hr />
<dl class="userinfo_extra">
<dd>
<div class="post_field">
<dl>
<dt>Registriert seit</dt>
<dd>29.09.2012</dd>
</dl>
</div>
<div class="post_field">
<dl>
<dt>Ort</dt>
<dd>Österreich</dd>
</dl>
</div>
<div class="post_field">
<dl>
<dt>Beiträge</dt>
<dd>2.482</dd>
</dl>
</div>
<div class="imlinks"></div>
</dd>
</dl>
<div class="clear"></div>
</div>
<div class="postbody">
<div class="postrow has_after_content">
<h2 class="title icon">[Erfahrungsaustausch / Spoileralarm] Hilfe -
Ich weiß nicht weiter!</h2>
<div class="content">
<div id="post_message_9651357">
<blockquote class="postcontent restore">Nachdem es sich nun schon
ein paar mal ergeben hat, das in den verschiedensten Topics um
Walktrough's und Hilfe gebeten wurde (sehr oft von mir <img src=
"http://forum.pcgames.de/images/smilies/default/sm_;-).gif" border=
"0" alt="" title="; )" class="inlineimg" /> ) hab ich nun
beschlossen, den Tipp von LC anzunehmen und einen entsprechenden
Thread zu eröffnen.<br />
<br />
Wann immer man bei einem Spiel nicht mehr weiter kommt, irgendetwas
nicht findet oder Tipps zu schwierigen Erfolgen oder Trophäen
braucht, kann man hier nun um Hilfe bitten.<br />
<br />
Tja um auch gleich den Anfang zu machen ergab sich grade "zufällig"
ein Problem, bei dem ich nicht weiter weiß.<br />
Ich spiele ja gerade Darksiders II, nachdem ich die 3 Lebenssteine
für die goldene Arena gesammelt habe, stehe ich nun vor einem
Bossgegner, nämlich Gnashor. Ich bin nach dieser Komplettlösung
vorgegangen<br />
<a rel="nofollow" href=
"http://www.eurogamer.de/articles/2012-08-14-darksiders-2-loesung-tipps-guide?page=24"
target="_blank">Darksiders 2 Komplettlösung - Die goldene Arena
dritter Lebenstein - Bosskampf Arena Champion Gnashor &bull;
Eurogamer.de</a><br />
hab' aber bei meinem Kampf festgestellt, das sich das blöde Biest
wieder selbst hochheilt... und so bekomm' ich den nie tot <img src=
"http://forum.pcgames.de/images/smilies/default/sm_B-(.gif" border=
"0" alt="" title=":(" class="inlineimg" /><br />
Im Grunde dresche ich permanent auf ihn ein, da ich sehr gute
Verteidigungswerte und gute Ausrüstungsgegenstände habe, ertrage
ich das recht gut. Damit konnte ich ihm gleich mal ein Drittel
Leben runterklopfen, doch kaum brauch ich mal 2 - 3 Sekunden, bis
ich wieder an ihm dran bin, heilt er sich in der Zwischenzeit
wieder rauf... und davon steht einfach nirgends was<br />
Egal wie oft ich das Internet befragt habe und Lösungen zu dem Boss
gelesen habe, nirgends steht was, das der sich hoch heilt <img src=
"http://forum.pcgames.de/images/smilies/default/sm_B-(.gif" border=
"0" alt="" title=":(" class="inlineimg" /><br />
Wie habt ihr das gemacht und mache ich irgendwas falsch, das der
sich deshalb hochheilen kann?</blockquote>
</div>
</div>
</div>
<div class="after_content">
<blockquote class="postcontent lastedited">Geändert von Herbboy
(14.11.2013 um <span class="time">00:24</span> Uhr)</blockquote>
<div class="vbseo_buttons" id="lkbtn_1.9326273.9651357">
<div class="vbseo_liked"><a href=
"http://forum.pcgames.de/members/1070857-lordcrash.html">LordCrash</a>
hat "Gefällt mir" geklickt.</div>
</div>
</div>
<div class="cleardiv"></div>
</div>
</div>
<div class="postfoot">
</div>
<hr />
<ul>
</ul>
</li>
<li class="postbitlegacy postbitim postcontainer old" id=
"post_9651373">
<div class="posthead"><span class="postdate old"><span class=
"date">23.10.2013, <span class=
"time">15:37</span></span></span> <span class=
"nodecontrols"><a name="post9651373" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#post9651373"
class="postcounter">#2</a><a id="postcount9651373" name=
"2"></a></span></div>
<div class="postdetails">
<div class="userinfo">
<div class="userdetails hasavatar">
<div class="username_container">
<div class="popupmenu memberaction"><a rel="nofollow" class=
"username offline" href=
"http://forum.pcgames.de/members/1145245-hawkins.html" title=
"Hawkins ist offline"><strong>Hawkins</strong></a></div>
<img class="inlineimg onlinestatus" src=
"http://forum.pcgames.de/themecrate/debutant/statusicon/user-offline.png"
alt="Hawkins ist offline" border="0" /></div>
<span class="usertitle">Erfahrener Benutzer</span></div>
<a rel="nofollow" class="postuseravatar" href=
"http://forum.pcgames.de/members/1145245-hawkins.html" title=
"Hawkins ist offline"><img src=
"http://forum.pcgames.de/customavatars/avatar1145245_1.gif" alt=
"Avatar von Hawkins" title="Avatar von Hawkins" /></a>
<hr />
<dl class="userinfo_extra">
<dd>
<div class="post_field">
<dl>
<dt>Registriert seit</dt>
<dd>27.08.2004</dd>
</dl>
</div>
<div class="post_field">
<dl>
<dt>Beiträge</dt>
<dd>586</dd>
</dl>
</div>
<div class="imlinks"></div>
</dd>
</dl>
<div class="clear"></div>
</div>
<div class="postbody">
<div class="postrow has_after_content">
<div class="content">
<div id="post_message_9651373">
<blockquote class="postcontent restore">Das Video sollte
helfen:<br />
<br />
<a rel="nofollow" href="http://www.youtube.com/watch?v=tW47BQFzJcw"
target="_blank">Darksiders 2 - Gnashor Boss Fight -
YouTube</a><br />
<br />
<br />
Du musst ihm am Kopf packen, damit wird er auf den Boden geworfen
und die "Wurmphase" startet wieder ohne das er sich
heilt.</blockquote>
</div>
</div>
</div>
<div class="after_content">
<div class="vbseo_buttons" id="lkbtn_1.9326273.9651373">
<div class="vbseo_liked" style="display:none"></div>
</div>
</div>
<div class="cleardiv"></div>
</div>
</div>
<div class="postfoot">
<div class="textcontrols floatcontainer"><span class=
"postcontrols"><img style="display:none" id="progress_9651373" src=
"http://forum.pcgames.de/themecrate/debutant/misc/progress.gif"
alt="" /> <a id="qrwq_9651373" class="newreply" href=
"http://forum.pcgames.de/newreply.php?do=newreply&p=9651373"
rel="nofollow" title="Zitieren"><img id="quoteimg_9651373" src=
"http://forum.pcgames.de/clear.gif" alt="Zitieren" />
Zitieren</a></span></div>
</div>
<hr /></li>
</ol>
<div class="separator"></div>
<div class="postlistfoot"></div>
</div>
<div id="below_postlist" class="noinlinemod below_postlist">
<div id="pagination_bottom" class="pagination_bottom">
<div class="clear"></div>
<div class="clear"></div>
</div>
</div>
<div id="thread_info" class="thread_info block">
<div id="similar_threads">
<h4 class="threadinfohead blockhead">Ähnliche Themen</h4>
<div id="similar_threads_list" class=
"thread_info_block blockbody formcontrols">
<ol class="similar_threads">
<li class="floatcontainer">
<div class="titleblock">
<div class="starter_forum">Von Graho im Forum PC-Plattform
Allgemein</div>
</div>
<div class="dateblock"><span class="shade">Antworten:</span> 2
<div class="starter_forum"><span class="shade">Letzter
Beitrag:</span> 27.07.2006, <span class="time">01:12</span></div>
</div>
</li>
<li class="floatcontainer">
<div class="titleblock">
<div class="starter_forum">Von Tammy83 im Forum Videospiele
allgemein</div>
</div>
<div class="dateblock"><span class="shade">Antworten:</span> 7
<div class="starter_forum"><span class="shade">Letzter
Beitrag:</span> 13.07.2006, <span class="time">09:59</span></div>
</div>
</li>
<li class="floatcontainer">
<div class="titleblock">
<div class="starter_forum">Von Killingthefly im Forum PC-Plattform
Allgemein</div>
</div>
<div class="dateblock"><span class="shade">Antworten:</span> 5
<div class="starter_forum"><span class="shade">Letzter
Beitrag:</span> 30.10.2004, <span class="time">18:10</span></div>
</div>
</li>
</ol>
</div>
</div>
<div class="options_block_container">
<div class="options_block">
<h4 class="collapse blockhead options_correct"><a class="collapse"
id="collapse_posting_rules" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#top">
<img src=
"http://forum.pcgames.de/themecrate/debutant/buttons/collapse_40b.png"
alt="" /></a> Berechtigungen</h4>
<div id="posting_rules" class=
"thread_info_block blockbody formcontrols floatcontainer options_correct">
<div id="forumrules" class="info_subblock">
<div class="bbcodeblock">
</div>
<p class="rules_link"><a rel="nofollow" href=
"http://forum.pcgames.de/misc.php?do=showrules" target=
"_blank">Foren-Regeln</a></p>
</div>
</div>
</div>
</div>
</div>
<div style="clear: left"></div>
</div>
</div>
</div>
</div>
<div id="footer-container">
<div id="footer" class="floatcontainer footer">
<div class="wrapper">
<form action="http://forum.pcgames.de/" method="get" id=
"footer_select" class="footer_select"></form>
</div>
</div>
<div class="below_body">
<div class="wrapper">
<div class="left">
</div>
<div class="right">
<div class="socialicons"></div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</body>
</html>
XSLT 样式表
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:output method="xml" indent="yes" encoding="UTF-8" omit-xml-declaration="no" />
<xsl:template match="/">
<xsl:apply-templates select="//xhtml:blockquote[@class='postcontent restore']" />
</xsl:template>
<xsl:template match="xhtml:blockquote">
<content>
<xsl:value-of select="."/>
</content>
</xsl:template>
<xsl:template match="xhtml:span[@class='nodecontrols']/xhtml:a">
<url>
<xsl:value-of select="@href"/>
</url>
</xsl:template>
</xsl:stylesheet>
上面的样式表导致
<content> content1 </content>
<content> content2 </content>
...
预期的输出应该是
<content> content1 </content>
<url> url1 </content>
<content> content2 </content>
<url> url2 </content>
如何修改样式表以达到我的预期?
要匹配模板,您首先必须 select 与 xsl:apply-templates
匹配的内容(或依赖 XSLT 的内置模板)。但是,在匹配 /
的初始模板中,您 select 仅 blockquote
元素,但不做进一步的 xsl:apply-templates
。因此,"nodecontrols" 的模板将永远不会匹配,因为没有人会尝试 select 这些元素。
你能做的就是在主模板中...
<xsl:apply-templates select="//xhtml:span[@class='nodecontrols']/xhtml:a|//xhtml:blockquote[@class='postcontent restore']" />
但这不会给你你想要的结果,因为这 select 是文档顺序中的节点,并且 "nodecontrols" 在 blockquote
之前。
从 XHTML 结构来看,两个不同的元素都在同一个 li
元素下。因此,在匹配 blockquote
的模板中,您需要 select link 像这样:
<xsl:apply-templates select="ancestor::xhtml:li[1]//xhtml:span[@class='nodecontrols']/xhtml:a[1]" />
(我在这里使用 a[1]
,因为看起来 span 下面有两个 a
元素)。
试试这个 XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="xhtml">
<xsl:output method="xml" indent="yes" encoding="UTF-8" omit-xml-declaration="no" />
<xsl:template match="/">
<xsl:apply-templates select="//xhtml:blockquote[@class='postcontent restore']" />
</xsl:template>
<xsl:template match="xhtml:blockquote">
<content>
<xsl:value-of select="."/>
</content>
<xsl:apply-templates select="ancestor::xhtml:li[1]//xhtml:span[@class='nodecontrols']/xhtml:a[1]" />
</xsl:template>
<xsl:template match="xhtml:a">
<url>
<xsl:value-of select="@href"/>
</url>
</xsl:template>
</xsl:stylesheet>
我想从 XHTML 站点中提取多个元素。我设法识别并标记了一个元素,但是一旦有两个元素,输出中就看不到秒数了。
XHTML 站点示例
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="de" id=
"vbulletin_html">
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Apple macOS version 5.6.0" />
<base href="http://forum.pcgames.de/" />
<!--[if IE]></base><![endif]-->
<link rel="canonical" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html" />
<meta http-equiv="Content-Type" content=
"text/html; charset=utf-8" />
<meta id="e_vb_meta_bburl" name="vb_meta_bburl" content=
"http://forum.pcgames.de" />
<meta name="generator" content="vBulletin 4.2.2" />
<meta name="theme-color" content="#333333" />
<meta name="msapplication-navbutton-color" content="#333333" />
<meta name="apple-mobile-web-app-status-bar-style" content=
"#333333" />
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<meta name="viewport" content=
"width=device-width,initial-scale=1.0,maximum-scale=1.0" />
<link rel="Shortcut Icon" href=
"http://forum.pcgames.de/favicon.ico" type="image/x-icon" />
<script type="text/javascript" src=
"http://www.pcgames.de/bcommon/js/jquery/jquery.finger.min.js"></script>
<title>[Erfahrungsaustausch / Spoileralarm] Hilfe - Ich weiß nicht
weiter!</title>
<link rel="canonical" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html" />
<script type="text/javascript" src=
"http://forum.pcgames.de/clientscript/vbulletin_ajax_threadrate.js?v=422"></script>
<link rel="stylesheet" type="text/css" href=
"http://forum.pcgames.de/css.php?styleid=11&langid=2&d=1535117522&td=ltr&sheet=toolsmenu.css,postlist.css,showthread.css,postbit.css,options.css,attachment.css,poll.css,lightbox.css" />
<link href=
'http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700'
rel='stylesheet' type='text/css' />
<link rel="stylesheet" type="text/css" href=
"http://forum.pcgames.de/css.php?styleid=11&langid=2&d=1535117522&td=ltr&sheet=additional.css" />
<script type="text/javascript" src=
"http://forum.pcgames.de/themecrate/debutant/clientscript/core.js?v=20171017"></script>
</head>
<body>
<div id="content-container">
<div id="main-content" class="clearfix">
<div class="menu">
<div class="wrapper"><a href="http://www.pcgames.de/" class="logo"
alt="PC Games" title="zur Startseite"></a> <a href=
"javascript:void(0)" class="menu_button"></a>
<ul id="navtabs" class="navtabs floatcontainer">
<li class="selected subMenu" id="vbtab_forum"><a class=
"mainMenu navtab dropdown" href=
"http://forum.pcgames.de/forum.php">Forum</a>
<ul class="floatcontainer">
<li id="vbflink_newposts" class="subItemA"><a href=
"http://forum.pcgames.de/search.php?do=getdaily&exclude=3476,3512,3519,3544,3545,3531,3524,3525,3534,3528,3535,3533,3549">
Die letzten 100 Beiträge</a></li>
<li id="vbflink_faq" class="subItemA"><a href=
"http://forum.pcgames.de/faq.php">Hilfe</a></li>
<li id="vbflink_calendar" class="subItemA"><a href=
"http://forum.pcgames.de/calendar.php">Kalender</a></li>
<li class="popupmenu subMenu"><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return false;">Community</a>
<ul>
<li id="vbclink_groups" class="subItemA"><a href=
"http://forum.pcgames.de/groups/">Gruppen</a></li>
<li id="vbclink_albums" class="subItemA"><a href=
"http://forum.pcgames.de/members/albums.html">Bilder &
Alben</a></li>
<li id="vbclink_members" class="subItemA"><a href=
"http://forum.pcgames.de/members/list/">Benutzerliste</a></li>
</ul>
</li>
<li class="popupmenu subMenu"><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return false;">Aktionen</a>
<ul>
<li id="vbalink_mfr" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/forumdisplay.php?do=markread&markreadhash=guest">
Alle Foren als gelesen markieren</a></li>
</ul>
</li>
<li class="popupmenu subMenu"><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return false;">Nützliche Links</a>
<ul>
<li id="vbqlink_posts" class="subItemA"><a href=
"http://forum.pcgames.de/search.php?do=getdaily&days=7">Diskussionen
der letzten 7 Tage</a></li>
<li id="link_mtg3_542" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=finduser&userid=0&starteronly=1&contenttype=vBForum_Post">
Meine Themen</a></li>
<li id="link_mtg3_639" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=finduser&userid=0&contenttype=vBForum_Post&showposts=1">
Meine Beiträge</a></li>
<li id="link_mtg3_831" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=finduser&userid=0&starteronly=0&contenttype=vBForum_Post">
Themen mit eigenen Beiträgen</a></li>
<li id="vbqlink_leaders" class="subItemA"><a href=
"http://forum.pcgames.de/showgroups.php">Forum-Mitarbeiter
anzeigen</a></li>
<li id="vbqlink_online" class="subItemA"><a href=
"http://forum.pcgames.de/online.php">Wer ist online</a></li>
<li id="link_ndgx_744" class="subItemA"><a href="/chat/">Chat
(IRC)</a></li>
</ul>
</li>
</ul>
</li>
<li class="subMenu" id="vbtab_blog"><a class=
"mainMenu navtab dropdown" href=
"http://forum.pcgames.de/blogs/">Blogs</a>
<ul class="floatcontainer">
<li id="vbblog_recent" class="subItemA"><a href=
"http://forum.pcgames.de/blogs/recent-entries/">Neue
Blog-Einträge</a></li>
<li id="vbblog_popular" class="subItemA"><a href=
"http://forum.pcgames.de/blogs/best-entries/">Top Einträge</a></li>
<li id="vbblog_member" class="subItemA"><a href=
"http://forum.pcgames.de/blogs/all/">Blogliste</a></li>
</ul>
</li>
<li class="subMenu" id="vbtab_whatsnew"><a rel="nofollow" class=
"mainMenu navtab dropdown" href=
"http://forum.pcgames.de/search.php?do=getnew&contenttype=vBForum_Post&exclude=3476,3512,3519,3544,3545,3531,3524,3525,3534,3528,3535,3533,3549">
Was ist neu?</a>
<ul class="floatcontainer">
<li id="vbnew_activitystream" class="subItemA"><a href=
"http://forum.pcgames.de/activity.php">Aktivitäten</a></li>
<li id="vbnew_newposts" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&contenttype=vBForum_Post">
Neue Beiträge</a></li>
<li id="vbnew_groupm" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&contenttype=vBForum_SocialGroupMessage">
Neue Diskussionen</a></li>
<li id="vbnew_events" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&contenttype=vBForum_Event">
Neue Termine</a></li>
<li id="vbnew_entries" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/search.php?do=getnew&contenttype=vBBlog_BlogEntry">
Neue Blog-Einträge</a></li>
<li id="vbnew_mfr" class="subItemA"><a rel="nofollow" href=
"http://forum.pcgames.de/forumdisplay.php?do=markread&markreadhash=guest">
Alle Foren als gelesen markieren</a></li>
</ul>
</li>
<li class="subMenu" id="vbtab_activity"><a class="mainMenu navtab"
href="http://forum.pcgames.de/activity.php">Aktivitäten</a></li>
</ul>
<a target="_blank" alt="www.gamesworld.de" title=
"zur Gamesworld-Startseite" href="http://www.gamesworld.de" class=
"logo partner" rel="nofollow"></a>
<ul class="usermenu guest">
<li><a class="loginbtn" name="login-dialog" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#login-dialog">
Anmelden</a></li>
<li><a class="registerbtn" href=
"http://forum.pcgames.de/register.php">Registrieren</a></li>
</ul>
<div class="clear"></div>
</div>
</div>
<div class="wrapper">
<div class="above_body">
<div id="header" class="floatcontainer doc_header">
<div class="bannerFrame">
<div class="adikett" id="6517819" data-type-id="banner"></div>
</div>
<div class="ad_global_header"></div>
<hr /></div>
</div>
<div class="body_wrapper loggedout">
<div class="skyFrame">
<div class="adikett" id="6517818" data-type-id="sky"></div>
</div>
<div id="breadcrumb" class="breadcrumb">
<ul class="floatcontainer">
<li class="navbithome"><a href="http://forum.pcgames.de/"
accesskey="1"></a></li>
<li class="navbit"><a href=
"http://forum.pcgames.de/">Forum</a></li>
<li class="navbit"><a href=
"http://forum.pcgames.de/spieleforum/41">Spieleforum</a></li>
<li class="navbit"><a href=
"http://forum.pcgames.de/videospiele-allgemein/3470">Videospiele
allgemein</a></li>
<li class="navbit lastnavbit">
<h1><span><a href="javascript:location.reload();" title=
"Seite neu laden">[Erfahrungsaustausch / Spoileralarm] Hilfe - Ich
weiß nicht weiter!</a></span></h1>
</li>
</ul>
<hr /></div>
<div id="above_postlist" class="above_postlist">
<div id="pagination_top" class="pagination_top">
</div>
</div>
<div id="pagetitle" class="pagetitle">
<div id="vbseo-likes"><span class="vbseo-likes-count" onclick=
"vbseoui.tree_dropdown()"><img src=
"http://forum.pcgames.de/vbseo/resources/images/forum/vbseo_likes_heart.png"
class="vbseo-likes-count-image" alt="" />52<em>Gefällt
mir</em></span>
<div id="liketree_1.9326273" class="vbseo-likes-container">
<ul class="vbseo-likes-tabs">
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return vbseoui.treetab_click(0)">Top</a></li>
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return vbseoui.treetab_click(1)">Alle</a></li>
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#"
onclick="return vbseoui.treetab_click(2)">Aktuelle Seite</a></li>
</ul>
<ul class="vbseo-likes-list"></ul>
</div>
</div>
</div>
<div id="thread_controls" class="thread_controls toolsmenu">
<div>
<ul id="postlist_popups" class="postlist_popups popupgroup">
<li class="popupmenu" id="threadtools">
<h6><a class="popupctrl" href=
"javascript://">Themen-Optionen</a></h6>
<ul class="popupbody popuphover">
<li><a href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter-print.html"
accesskey="3" rel="nofollow">Druckbare Version zeigen</a></li>
<li><a href=
"http://forum.pcgames.de/sendmessage.php?do=sendtofriend&t=9326273"
rel="nofollow">Thema weiterempfehlen…</a></li>
<li><a href=
"http://forum.pcgames.de/subscription.php?do=addsubscription&t=9326273"
rel="nofollow">Thema abonnieren…</a></li>
</ul>
</li>
<li class="popupmenu" id="threadrating">
<h6><a class="popupctrl" href="javascript://">Thema
bewerten</a></h6>
<div class="popupbody popuphover">
<form action="http://forum.pcgames.de/threadrate.php" method="post"
id='showthread_threadrate_form'>
<ul>
</ul>
<input type="hidden" name="s" value="" /> <input type="hidden"
name="securitytoken" value="guest" /> <input type="hidden" name="t"
value="9326273" /> <input type="hidden" name="pp" value="20" />
<input type="hidden" name="page" value="1" /></form>
</div>
</li>
</ul>
</div>
</div>
<div id="postlist" class="postlist restrain">
<ol id="posts" class="posts" start="1">
<li class="postbitlegacy postbitim postcontainer old" id=
"post_9651357">
<div class="posthead"><span class="postdate old"><span class=
"date">23.10.2013, <span class=
"time">15:06</span></span></span> <span class=
"nodecontrols"><a name="post9651357" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#post9651357"
class="postcounter">#1</a><a id="postcount9651357" name=
"1"></a></span></div>
<div class="postdetails">
<div class="userinfo">
<div class="userdetails hasavatar">
<div class="username_container">
<div class="popupmenu memberaction"><a rel="nofollow" class=
"username offline" href=
"http://forum.pcgames.de/members/2905424-monalye.html" title=
"Monalye ist offline"><strong>Monalye</strong></a></div>
<img class="inlineimg onlinestatus" src=
"http://forum.pcgames.de/themecrate/debutant/statusicon/user-offline.png"
alt="Monalye ist offline" border="0" /></div>
<span class="usertitle">Erfahrener Benutzer</span></div>
<a rel="nofollow" class="postuseravatar" href=
"http://forum.pcgames.de/members/2905424-monalye.html" title=
"Monalye ist offline"><img src=
"http://forum.pcgames.de/customavatars/avatar2905424_9.gif" alt=
"Avatar von Monalye" title="Avatar von Monalye" /></a>
<hr />
<dl class="userinfo_extra">
<dd>
<div class="post_field">
<dl>
<dt>Registriert seit</dt>
<dd>29.09.2012</dd>
</dl>
</div>
<div class="post_field">
<dl>
<dt>Ort</dt>
<dd>Österreich</dd>
</dl>
</div>
<div class="post_field">
<dl>
<dt>Beiträge</dt>
<dd>2.482</dd>
</dl>
</div>
<div class="imlinks"></div>
</dd>
</dl>
<div class="clear"></div>
</div>
<div class="postbody">
<div class="postrow has_after_content">
<h2 class="title icon">[Erfahrungsaustausch / Spoileralarm] Hilfe -
Ich weiß nicht weiter!</h2>
<div class="content">
<div id="post_message_9651357">
<blockquote class="postcontent restore">Nachdem es sich nun schon
ein paar mal ergeben hat, das in den verschiedensten Topics um
Walktrough's und Hilfe gebeten wurde (sehr oft von mir <img src=
"http://forum.pcgames.de/images/smilies/default/sm_;-).gif" border=
"0" alt="" title="; )" class="inlineimg" /> ) hab ich nun
beschlossen, den Tipp von LC anzunehmen und einen entsprechenden
Thread zu eröffnen.<br />
<br />
Wann immer man bei einem Spiel nicht mehr weiter kommt, irgendetwas
nicht findet oder Tipps zu schwierigen Erfolgen oder Trophäen
braucht, kann man hier nun um Hilfe bitten.<br />
<br />
Tja um auch gleich den Anfang zu machen ergab sich grade "zufällig"
ein Problem, bei dem ich nicht weiter weiß.<br />
Ich spiele ja gerade Darksiders II, nachdem ich die 3 Lebenssteine
für die goldene Arena gesammelt habe, stehe ich nun vor einem
Bossgegner, nämlich Gnashor. Ich bin nach dieser Komplettlösung
vorgegangen<br />
<a rel="nofollow" href=
"http://www.eurogamer.de/articles/2012-08-14-darksiders-2-loesung-tipps-guide?page=24"
target="_blank">Darksiders 2 Komplettlösung - Die goldene Arena
dritter Lebenstein - Bosskampf Arena Champion Gnashor &bull;
Eurogamer.de</a><br />
hab' aber bei meinem Kampf festgestellt, das sich das blöde Biest
wieder selbst hochheilt... und so bekomm' ich den nie tot <img src=
"http://forum.pcgames.de/images/smilies/default/sm_B-(.gif" border=
"0" alt="" title=":(" class="inlineimg" /><br />
Im Grunde dresche ich permanent auf ihn ein, da ich sehr gute
Verteidigungswerte und gute Ausrüstungsgegenstände habe, ertrage
ich das recht gut. Damit konnte ich ihm gleich mal ein Drittel
Leben runterklopfen, doch kaum brauch ich mal 2 - 3 Sekunden, bis
ich wieder an ihm dran bin, heilt er sich in der Zwischenzeit
wieder rauf... und davon steht einfach nirgends was<br />
Egal wie oft ich das Internet befragt habe und Lösungen zu dem Boss
gelesen habe, nirgends steht was, das der sich hoch heilt <img src=
"http://forum.pcgames.de/images/smilies/default/sm_B-(.gif" border=
"0" alt="" title=":(" class="inlineimg" /><br />
Wie habt ihr das gemacht und mache ich irgendwas falsch, das der
sich deshalb hochheilen kann?</blockquote>
</div>
</div>
</div>
<div class="after_content">
<blockquote class="postcontent lastedited">Geändert von Herbboy
(14.11.2013 um <span class="time">00:24</span> Uhr)</blockquote>
<div class="vbseo_buttons" id="lkbtn_1.9326273.9651357">
<div class="vbseo_liked"><a href=
"http://forum.pcgames.de/members/1070857-lordcrash.html">LordCrash</a>
hat "Gefällt mir" geklickt.</div>
</div>
</div>
<div class="cleardiv"></div>
</div>
</div>
<div class="postfoot">
</div>
<hr />
<ul>
</ul>
</li>
<li class="postbitlegacy postbitim postcontainer old" id=
"post_9651373">
<div class="posthead"><span class="postdate old"><span class=
"date">23.10.2013, <span class=
"time">15:37</span></span></span> <span class=
"nodecontrols"><a name="post9651373" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#post9651373"
class="postcounter">#2</a><a id="postcount9651373" name=
"2"></a></span></div>
<div class="postdetails">
<div class="userinfo">
<div class="userdetails hasavatar">
<div class="username_container">
<div class="popupmenu memberaction"><a rel="nofollow" class=
"username offline" href=
"http://forum.pcgames.de/members/1145245-hawkins.html" title=
"Hawkins ist offline"><strong>Hawkins</strong></a></div>
<img class="inlineimg onlinestatus" src=
"http://forum.pcgames.de/themecrate/debutant/statusicon/user-offline.png"
alt="Hawkins ist offline" border="0" /></div>
<span class="usertitle">Erfahrener Benutzer</span></div>
<a rel="nofollow" class="postuseravatar" href=
"http://forum.pcgames.de/members/1145245-hawkins.html" title=
"Hawkins ist offline"><img src=
"http://forum.pcgames.de/customavatars/avatar1145245_1.gif" alt=
"Avatar von Hawkins" title="Avatar von Hawkins" /></a>
<hr />
<dl class="userinfo_extra">
<dd>
<div class="post_field">
<dl>
<dt>Registriert seit</dt>
<dd>27.08.2004</dd>
</dl>
</div>
<div class="post_field">
<dl>
<dt>Beiträge</dt>
<dd>586</dd>
</dl>
</div>
<div class="imlinks"></div>
</dd>
</dl>
<div class="clear"></div>
</div>
<div class="postbody">
<div class="postrow has_after_content">
<div class="content">
<div id="post_message_9651373">
<blockquote class="postcontent restore">Das Video sollte
helfen:<br />
<br />
<a rel="nofollow" href="http://www.youtube.com/watch?v=tW47BQFzJcw"
target="_blank">Darksiders 2 - Gnashor Boss Fight -
YouTube</a><br />
<br />
<br />
Du musst ihm am Kopf packen, damit wird er auf den Boden geworfen
und die "Wurmphase" startet wieder ohne das er sich
heilt.</blockquote>
</div>
</div>
</div>
<div class="after_content">
<div class="vbseo_buttons" id="lkbtn_1.9326273.9651373">
<div class="vbseo_liked" style="display:none"></div>
</div>
</div>
<div class="cleardiv"></div>
</div>
</div>
<div class="postfoot">
<div class="textcontrols floatcontainer"><span class=
"postcontrols"><img style="display:none" id="progress_9651373" src=
"http://forum.pcgames.de/themecrate/debutant/misc/progress.gif"
alt="" /> <a id="qrwq_9651373" class="newreply" href=
"http://forum.pcgames.de/newreply.php?do=newreply&p=9651373"
rel="nofollow" title="Zitieren"><img id="quoteimg_9651373" src=
"http://forum.pcgames.de/clear.gif" alt="Zitieren" />
Zitieren</a></span></div>
</div>
<hr /></li>
</ol>
<div class="separator"></div>
<div class="postlistfoot"></div>
</div>
<div id="below_postlist" class="noinlinemod below_postlist">
<div id="pagination_bottom" class="pagination_bottom">
<div class="clear"></div>
<div class="clear"></div>
</div>
</div>
<div id="thread_info" class="thread_info block">
<div id="similar_threads">
<h4 class="threadinfohead blockhead">Ähnliche Themen</h4>
<div id="similar_threads_list" class=
"thread_info_block blockbody formcontrols">
<ol class="similar_threads">
<li class="floatcontainer">
<div class="titleblock">
<div class="starter_forum">Von Graho im Forum PC-Plattform
Allgemein</div>
</div>
<div class="dateblock"><span class="shade">Antworten:</span> 2
<div class="starter_forum"><span class="shade">Letzter
Beitrag:</span> 27.07.2006, <span class="time">01:12</span></div>
</div>
</li>
<li class="floatcontainer">
<div class="titleblock">
<div class="starter_forum">Von Tammy83 im Forum Videospiele
allgemein</div>
</div>
<div class="dateblock"><span class="shade">Antworten:</span> 7
<div class="starter_forum"><span class="shade">Letzter
Beitrag:</span> 13.07.2006, <span class="time">09:59</span></div>
</div>
</li>
<li class="floatcontainer">
<div class="titleblock">
<div class="starter_forum">Von Killingthefly im Forum PC-Plattform
Allgemein</div>
</div>
<div class="dateblock"><span class="shade">Antworten:</span> 5
<div class="starter_forum"><span class="shade">Letzter
Beitrag:</span> 30.10.2004, <span class="time">18:10</span></div>
</div>
</li>
</ol>
</div>
</div>
<div class="options_block_container">
<div class="options_block">
<h4 class="collapse blockhead options_correct"><a class="collapse"
id="collapse_posting_rules" href=
"http://forum.pcgames.de/videospiele-allgemein/9326273-erfahrungsaustausch-spoileralarm-hilfe-ich-weiss-nicht-weiter.html#top">
<img src=
"http://forum.pcgames.de/themecrate/debutant/buttons/collapse_40b.png"
alt="" /></a> Berechtigungen</h4>
<div id="posting_rules" class=
"thread_info_block blockbody formcontrols floatcontainer options_correct">
<div id="forumrules" class="info_subblock">
<div class="bbcodeblock">
</div>
<p class="rules_link"><a rel="nofollow" href=
"http://forum.pcgames.de/misc.php?do=showrules" target=
"_blank">Foren-Regeln</a></p>
</div>
</div>
</div>
</div>
</div>
<div style="clear: left"></div>
</div>
</div>
</div>
</div>
<div id="footer-container">
<div id="footer" class="floatcontainer footer">
<div class="wrapper">
<form action="http://forum.pcgames.de/" method="get" id=
"footer_select" class="footer_select"></form>
</div>
</div>
<div class="below_body">
<div class="wrapper">
<div class="left">
</div>
<div class="right">
<div class="socialicons"></div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</body>
</html>
XSLT 样式表
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:output method="xml" indent="yes" encoding="UTF-8" omit-xml-declaration="no" />
<xsl:template match="/">
<xsl:apply-templates select="//xhtml:blockquote[@class='postcontent restore']" />
</xsl:template>
<xsl:template match="xhtml:blockquote">
<content>
<xsl:value-of select="."/>
</content>
</xsl:template>
<xsl:template match="xhtml:span[@class='nodecontrols']/xhtml:a">
<url>
<xsl:value-of select="@href"/>
</url>
</xsl:template>
</xsl:stylesheet>
上面的样式表导致
<content> content1 </content>
<content> content2 </content>
...
预期的输出应该是
<content> content1 </content>
<url> url1 </content>
<content> content2 </content>
<url> url2 </content>
如何修改样式表以达到我的预期?
要匹配模板,您首先必须 select 与 xsl:apply-templates
匹配的内容(或依赖 XSLT 的内置模板)。但是,在匹配 /
的初始模板中,您 select 仅 blockquote
元素,但不做进一步的 xsl:apply-templates
。因此,"nodecontrols" 的模板将永远不会匹配,因为没有人会尝试 select 这些元素。
你能做的就是在主模板中...
<xsl:apply-templates select="//xhtml:span[@class='nodecontrols']/xhtml:a|//xhtml:blockquote[@class='postcontent restore']" />
但这不会给你你想要的结果,因为这 select 是文档顺序中的节点,并且 "nodecontrols" 在 blockquote
之前。
从 XHTML 结构来看,两个不同的元素都在同一个 li
元素下。因此,在匹配 blockquote
的模板中,您需要 select link 像这样:
<xsl:apply-templates select="ancestor::xhtml:li[1]//xhtml:span[@class='nodecontrols']/xhtml:a[1]" />
(我在这里使用 a[1]
,因为看起来 span 下面有两个 a
元素)。
试试这个 XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="xhtml">
<xsl:output method="xml" indent="yes" encoding="UTF-8" omit-xml-declaration="no" />
<xsl:template match="/">
<xsl:apply-templates select="//xhtml:blockquote[@class='postcontent restore']" />
</xsl:template>
<xsl:template match="xhtml:blockquote">
<content>
<xsl:value-of select="."/>
</content>
<xsl:apply-templates select="ancestor::xhtml:li[1]//xhtml:span[@class='nodecontrols']/xhtml:a[1]" />
</xsl:template>
<xsl:template match="xhtml:a">
<url>
<xsl:value-of select="@href"/>
</url>
</xsl:template>
</xsl:stylesheet>