2009-12-19 71 views
0

這裏動態XML是我的XML代碼使用PHP創建

<autoLoad value="true"/> 
    <autoPlay value="false"/> 
    <playContinuously value="true"/> 
    <jumpToNextCategory value="false"/> 
    <loop value="false"/> 

    <keepAspectRatio value="true"/> 

    <volume value="50"/> 
    <controlsPadding value="5"/> 

    <showPreviewImage value="true"/> 
    <showShareBtn value="false"/> 
    <showHidePlaylistBtn value="false"/> 
    <showFullScreenBtn value="true"/> 
    <showMiddlePlayBtn value="true"/> 

    <showWatermark value="true"/> 
    <watermarkPos value="BR"/> 

    <spaceKeyListener value="true"/> 
    <clickListener value="true"/> 

    <playlistSize value="0"/> 
    <playlistThumbWidth value="70"/> 
    <playlistThumbHeight value="50"/> 
    <playlistThumbPadding value="10"/> 

    <descriptionSize value="0"/> 
    <descriptionTextPadding value="10"/> 
</options> 

<colors> 
    <playerBackground value="0x000000"/> 
    <preloader background="0x000000" bckAlpha="70" text="0xCCCCCC" circle="0x559BB5"/> 
    <middlePlayBtn arrowNormal="0xFFFFFF" bckNormal="0x000000" alphaNormal="60" arrowOver="0xFFFFFF" bckOver="0x000000" alphaOver="80" arrowDown="0xFFFFFF" bckDown="0x000000" alphaDown="100"/> 
    <controllerBackground value="0x000000"/> 
    <controllerButtons normal="0xCCCCCC" over="0xFFFFFF" down="0xFFFFFF"/> 
    <volume border="0x666666" background="0x000000" speaker="0xCCCCCC" bar="0x559BB5"/> 
    <volumeScrubBtn brdNormal="0xCCCCCC" bckNormal="0x000000" brdOver="0xFFFFFF" bckOver="0x000000" brdDown="0xFFFFFF" bckDown="0x000000" /> 
    <progressBar border="0x666666" background="0x000000" elapse="0x559BB5" download="0x999999"/> 
    <progressScrubBtn brdNormal="0xCCCCCC" bckNormal="0x000000" brdOver="0xFFFFFF" bckOver="0x000000" brdDown="0xFFFFFF" bckDown="0x000000" /> 
    <times value="0xCCCCCC"/> 
    <share background="0x000000" bckAlpha="40" boxBck="0x000000" boxBckAlpha="70" labels="0xFFFFFF" errorText="0x00FF00" text="0x000000" textBck="0xFFFFFF" textBrd="0x000000" btnsNormal="0xCCCCCC" btnsOver="0xFFFFFF" btnsDown="0xFFFFFF"/> 
    <playlist background="0x151515" line="0x202020" thumbBck="0x000000" thumbNormalAlpha="30" thumbOverAlpha="70" thumbSelectedAlpha="100" title="0x559BB5" description="0xCCCCCC"/> 
    <category bckNormal="0x101010" titleNormal="0xCCCCCC" bckOver="0x000000" titleOver="0xFFFFFF" bckSelected="0x559BB5" titleSelected="0x000000"/> 
    <description background="0x151515" line="0x202020" title="0xFFFFFF" description="0xCCCCCC"/> 
    <scrollBar trackBar="0xCCCCCC" scrubBrdNormal="0xCCCCCC" scrubBckNormal="0x000000" scrubBrdOver="0xFFFFFF" scrubBckOver="0x000000" scrubBrdDown="0xFFFFFF" scrubBckDown="0x000000"/> 
</colors> 

<videos> 
    <category title="Animations"> 
    <video> 
    <videoPath value="video.mp4"/> 
    <previewImage value="image.jpg"/> 
    <aspectRatio value="4:3"/> 
    <totalTime value=""/> 
    <watermarkPath value="http://mydomain.com"/> 
    <watermarkLink value="http://mydomain.com"/> 
    </video> 
    </category> 
</videos> 

在此代碼

我想改變用PHP動態以下

<videoPath value="video.mp4"/> 
    <previewImage value="image.jpg"/> 

或讓我知道我可以用PHP生成整個代碼或包含在PHP

+0

如果你只想修改這兩行,你可能只想做一個正則表達式... – 2009-12-19 17:26:26

回答

4

使用DomDocument是一個選項:

$dom = new DomDocument; 
$dom->loadXml($xml); 
$videoPaths = $dom->getElementsByTagName('videoPath'); 
foreach ($videoPaths as $videoPath) { 
    $videoPath->setAttribute('value', 'newvideo.mp4'); 
} 
$previewImages = $dom->getElementsByTagName('previewImage'); 
foreach ($previewImages as $previewImage) { 
    $previewImage->setAttribute('value', 'newimage.jpg'); 
} 
$xml = $dom->saveXml(); 

SimpleXML也可能適合。

+0

如果你指導我如何生成上面的整個xml代碼,我將非常感謝你(即我的上面的xml代碼)用php – 2009-12-19 17:30:46

+0

+1不會提示RegEx – Gordon 2009-12-19 17:38:47

+0

@testkhan:呃...我不會寫出如何生成整個XML序列,但是DomDocument會使用createElement()等來完成。 /www.php.net/manual/en/domdocument.createelement.php – cletus 2009-12-20 00:28:41