我正在尝试使用PHP解析xml文件。
我正在使用此代码,它适用于获取标记名和值:
function getChildNodes($ dom,$ SearchKey){
foreach ($dom->getElementsByTagName($SearchKey) as $telefon) { foreach($telefon->childNodes as $node) { print_r( $SearchKey . " : " . $node->nodeValue . "\n" ); }
} }
示例xml工作代码:
<inputs>
<input>C:\Program Files\VideoLAN\VLC\airbag.mp3</input>
<input>C:\Program Files\VideoLAN\VLC\sunpark.mp3</input>
<input>C:\Program Files\VideoLAN\VLC\rapidarc.mp3</input>
</inputs>
示例xml的无效代码:
<instances>
<instance name="default" state="playing" position="0.050015" time="9290569" length="186489519" rate="1.000000" title="0" chapter="0" can-seek="1" playlistindex="3"/>
</instances>
有人可以帮我弄清楚我需要用什么选项来获取optioname和optionvalue吗?
所有回复都表示赞赏
答案 0 :(得分:1)
以下是用于打印XML属性的代码示例:
<?php
$source = '<instances><instance name="default" state="playing" position="0.050015" time="9290569" length="186489519" rate="1.000000" title="0" chapter="0" can-seek="1" playlistindex="3"/></instances>';
$doc = new DOMDocument();
$doc->loadXML($source);
$el = $doc->firstChild->firstChild;
for ($i = 0; $i < $el->attributes->length; $i++) {
$attr = $el->attributes->item($i);
echo 'Name: '.$attr->name, "\n";
echo 'Value: '.$attr->value, "\n";
}
希望这有帮助。