Jetzt anmelden . Es dauert nur 2 Minuten und ist kostenlos!
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser verwenden.
XML in Html Tabelle einfügen, aber wie
Hallo Html.de Community,
Bin momentan am Arbeiten aus einer XML Datei (
siehe Hier) bestimmte werte zu laden, und diese in eine Html Tabelle einzubinden(
Söldner HQ - News ).
Leider haben meine ersten Ansätze zu nichts geführt, und da ich noch nie mit XML gearbeitet habe bitte ich euch um Hilfe, wenn ihr also irgendeine Vorlage hättet würde mir dieses schon reichen.
Für eure Bemühungen danke ich schon mal im voraus.
mfg: Acer
Ich denke, du wirst das XML irgendwie in HTML umformen müssen. Dazu braucht es wahrscheinlich eine serverseitige Skriptsprache wie PHP. Darin kannst du dann mit XSL arbeiten oder auch einfach mit dem DOM-Tree. Mit weiteren Erklärungen halte ich mich mal noch zurück, da vielleicht PHP keine Option ist.
Php wäre auch möglich, habe aber nur wenig ahnung von PHP.
Ich *meine*, es gäbe noch eine Möglichkeit, die ohne serverseitiges Processing auskommt.
XML Data Islands oder so ähnlich. Spontan habe ich aber weder einen guten Link dazu noch weiß ich, ob das von Browsern problemlos unterstützt wird (da bin ich skeptisch) oder wie die Transformation XML->HTML durchgeführt wird (vermutlich über XSLT).
Wenn du schon bei
XSLT bist, kannst du es aber auch von PHP erledigen lassen. Der Code, der zusätzlich zur XSL-Datei benötigt wird, ist minimal.
XSLT ist jedenfalls die meiner Meinung nach einfachste Möglichkeit, XML umzuformen, auch wenn es auf den ersten Blick nicht so wirkt. :)
Kleines Beispiel (bin leider selbst nicht sonderlich erfahren in XSLT):
PHP:
<?php
// Das müsste dann eben $xmlCode = file_get_contents('./pfad/zur/xmlDatei.xml');
// o. ä. lauten
$xmlCode = <<<EOT
<?xml version='1.0' encoding='UTF-8'?>
<!-- ## Generated by Soldner-XML2Excel. Last Update on Tue Jun 17 17:56:51 2008 ## -->
<!-- ## Copyrights by The Online Gaming Community ## -->
<!-- ## Visit http://www.togcom.de ## -->
<XML>
<Item
sGameName="AK-74 (AR)"
sSubType="Rifle"
sWeight="medium"
sCategorie="AR3_light"
fSphere="0.5"
sModel="AK74"
sType="Weapon"
>
<Flags
bAddOn="false"
/>
</Item>
<WeaponDesc
btracers="false"
iAmmoPerMag="30"
fReloadSpeed="5.0"
sDecal="Pistol_05"
iShotsPerSecond="10"
sScopeCam="CamPos"
vScopeOff="0.00002 -0.00245 0.02"
sFireModes="Single|Auto"
fDecalSize="0.02"
iReliability="82"
vKEFalloff="1.0 0.7 0.4"
fMuzzleVelocity="900.0"
fCaliber="5.45"
sZoom="Zoom_1x"
fMuzzleSize="1.2"
fRange="440.0"
vScopeRot="89.3 0.0 0.0"
fLength="415.0"
fKillEnergy="59.0"
bRotateMuzzleFire="false"
sShot="G36shot"
iMaxMags="5"
sAccuracy="Stand:0.68;Sneak:0.80;Crouch:0.88"
vRecoilFactor="0.35 0.21 0.10"
vRecoilZoomed="0.30 0.15 0.06"
sZoomAccuracy="Stand:0.71;Sneak:0.83;Crouch:0.91"
iOffAngle="12"
fWeight="3.6"
sGunShellFX="GunShellFX"
sFX_Shoot="defaultEmitter"
/>
<EconomicalData
sUsedBy="7 86"
iCountryOrigin="7"
fRareness="1.0"
bReward="true"
iBasePrice="1700"
/>
<Sounds>
<Shot
sSound="AK74_Shot1"
>
<Trigger
sTriggerName="Shoot_Audio"
iLifeTime="500"
fSize="40.0"
bUpdatePos="false"
/>
</Shot>
<ShotEmpty
sSound="G36_Shot_Dry"
>
<Trigger
sTriggerName="Shoot_Audio"
iLifeTime="500"
fSize="2.0"
bUpdatePos="false"
/>
</ShotEmpty>
<Reload
sSound="AK74_ClipOut"
>
<Trigger
sTriggerName="Noise"
iLifeTime="500"
fSize="2.0"
bUpdatePos="false"
/>
</Reload>
<ReloadEnd
sSound="AK74_ClipIn"
>
<Trigger
sTriggerName="Noise"
iLifeTime="500"
fSize="2.0"
bUpdatePos="false"
/>
</ReloadEnd>
</Sounds>
<AnimOverride
fSpeed="1.0"
>
<RunTarget_Center
ssrc="Group1_Rifle_Run_Target_Center"
fblend="0.1"
/>
<RunTarget_Left
ssrc="Group1_Rifle_Run_Target_Left"
fblend="0.1"
/>
<RunTarget_Right
ssrc="Group1_Rifle_Run_Target_Right"
fblend="0.1"
/>
<RunTarget_Up
ssrc="Group1_Rifle_Run_Target_Up"
fblend="0.1"
/>
<RunTarget_Down
ssrc="Group1_Rifle_Run_Target_Down"
fblend="0.1"
/>
<RunTarget_UpLeft
ssrc="Group1_Rifle_Run_Target_UpLeft"
fblend="0.1"
/>
<RunTarget_UpRight
ssrc="Group1_Rifle_Run_Target_UpRight"
fblend="0.1"
/>
<RunTarget_DownLeft
ssrc="Group1_Rifle_Run_Target_DownLeft"
fblend="0.1"
/>
<RunTarget_DownRight
ssrc="Group1_Rifle_Run_Target_DownRight"
fblend="0.1"
/>
<SneakTarget_Center
ssrc="Group1_Rifle_Sneak_Target_Center"
fblend="0.1"
/>
<SneakTarget_Left
ssrc="Group1_Rifle_Sneak_Target_Left"
fblend="0.1"
/>
<SneakTarget_Right
ssrc="Group1_Rifle_Sneak_Target_Right"
fblend="0.1"
/>
<SneakTarget_Up
ssrc="Group1_Rifle_Sneak_Target_Up"
fblend="0.1"
/>
<SneakTarget_Down
ssrc="Group1_Rifle_Sneak_Target_Down"
fblend="0.1"
/>
<SneakTarget_UpLeft
ssrc="Group1_Rifle_Sneak_Target_UpLeft"
fblend="0.1"
/>
<SneakTarget_UpRight
ssrc="Group1_Rifle_Sneak_Target_UpRight"
fblend="0.1"
/>
<SneakTarget_DownLeft
ssrc="Group1_Rifle_Sneak_Target_DownLeft"
fblend="0.1"
/>
<SneakTarget_DownRight
ssrc="Group1_Rifle_Sneak_Target_DownRight"
fblend="0.1"
/>
<CrouchTarget_Center
ssrc="Group1_Rifle_Crouch_Target_Center"
fblend="0.1"
/>
<CrouchTarget_Left
ssrc="Group1_Rifle_Crouch_Target_Left"
fblend="0.1"
/>
<CrouchTarget_Right
ssrc="Group1_Rifle_Crouch_Target_Right"
fblend="0.1"
/>
<CrouchTarget_Up
ssrc="Group1_Rifle_Crouch_Target_Up"
fblend="0.1"
/>
<CrouchTarget_Down
ssrc="Group1_Rifle_Crouch_Target_Down"
fblend="0.1"
/>
<CrouchTarget_UpLeft
ssrc="Group1_Rifle_Crouch_Target_UpLeft"
fblend="0.1"
/>
<CrouchTarget_UpRight
ssrc="Group1_Rifle_Crouch_Target_UpRight"
fblend="0.1"
/>
<CrouchTarget_DownLeft
ssrc="Group1_Rifle_Crouch_Target_DownLeft"
fblend="0.1"
/>
<CrouchTarget_DownRight
ssrc="Group1_Rifle_Crouch_Target_DownRight"
fblend="0.1"
/>
<RunFwd
fHoldFP="0.1"
ssrc="Rifle_Run_Fwd_Group01"
fblend="0.1"
/>
<RunBack
fHoldFP="0.1"
ssrc="Rifle_Run_Back"
fblend="0.1"
/>
<RunLeft
fHoldFP="0.1"
ssrc="Rifle_Run_Left"
fblend="0.1"
/>
<RunRight
fHoldFP="0.1"
ssrc="Rifle_Run_Right"
fblend="0.1"
/>
<SneakFwd
fHoldFP="0.1"
ssrc="Rifle_Sneak_Fwd_Group01"
fblend="0.1"
/>
<RunFwdLeft
fHoldFP="0.1"
ssrc="Rifle_Run_FwdLeft"
fblend="0.1"
/>
<RunFwdRight
fHoldFP="0.1"
ssrc="Rifle_Run_FwdRight"
fblend="0.1"
/>
<RunBackLeft
fHoldFP="0.1"
ssrc="Rifle_Run_BackLeft"
fblend="0.1"
/>
<RunBackRight
fHoldFP="0.1"
ssrc="Rifle_Run_BackRight"
fblend="0.1"
/>
<RunIdle
ssrc="Rifle_Run_Idle_Group01"
fblend="0.1"
/>
<SneakIdle
ssrc="Rifle_Sneak_Idle_Group01"
fblend="0.1"
/>
<CrouchIdle
ssrc="Rifle_Crouch_Idle"
fblend="0.1"
/>
</AnimOverride>
</XML>
EOT;
$xslCode = <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:template match="/">
<div>
<xsl:apply-templates />
</div>
</xsl:template>
<xsl:template match="Item">
<h1><xsl:value-of select="@sGameName" /></h1>
</xsl:template>
<xsl:template match="WeaponDesc">
<table border="1">
<tr>
<td>btracers</td>
<td><xsl:value-of select="@btracers" /></td>
</tr>
<tr>
<td>iAmmoPerMag</td>
<td><xsl:value-of select="@iAmmoPerMag" /></td>
</tr>
<tr>
<td>fReloadSpeed</td>
<td><xsl:value-of select="@fReloadSpeed" /></td>
</tr>
</table>
</xsl:template>
</xsl:stylesheet>
EOT;
$xmldoc = new DOMDocument();
$xmldoc->preserveWhiteSpace = false;
$xmldoc->loadXML($xmlCode);
$xsldoc = new DOMDocument();
$xsldoc->preserveWhiteSpace = false;
$xsldoc->loadXML($xslCode);
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsldoc);
$tmp = $proc->transformToDoc($xmldoc);
$tmp->formatOutput = true;
echo $tmp->saveXML($tmp->documentElement);
Ausgabe:
Code:
<div>
<h1>AK-74 (AR)</h1>
<table border="1">
<tr>
<td>btracers</td>
<td>false</td>
</tr>
<tr>
<td>iAmmoPerMag</td>
<td>30</td>
</tr>
<tr>
<td>fReloadSpeed</td>
<td>5.0</td>
</tr>
</table>
</div>