使用此代碼:PHP的XML屬性解析
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to id="01">Tove</to>
<from id="02">Jani</from>
<heading color="#CEAF33">Reminder</heading>
<body type="small" important="low">Don't forget me this weekend!</body>
</note>
使用此代碼:PHP的XML屬性解析
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to id="01">Tove</to>
<from id="02">Jani</from>
<heading color="#CEAF33">Reminder</heading>
<body type="small" important="low">Don't forget me this weekend!</body>
</note>
我不會使用W3的教程。我會用simplexml_load_string到您的字符串加載到一個XML對象,然後遍歷它像這樣:
$notes = simplexml_load_string($xml);
foreach($notes as $note)
{
echo $note . "[" . $note->getName() . "]\n";
foreach($note->attributes() as $key => $value)
{
echo "\t" . $key . '=' . $value . "\n";
}
echo "\n";
}
Example(使用您輸入的字符串)
您: http://www.w3schools.com/php/php_xml_parser_expat.asp
你會如何使用交換機(如果可能的話),爲每一個如果XML文件是這樣獲得的屬性應該使用SimpleXML擴展,它使用起來更加簡單和容易。
從PHP文檔:
<?php
$string = <<<XML
<a>
<foo name="one" game="lonely">1</foo>
</a>
XML;
$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
echo $a,'="',$b,"\"\n";
}
?>
我怎樣才能做到這一點與沒有一個API有一個文檔類型?我想使用W3Schools教程,因爲這是我從中學到的。我已經準備好了一切,我需要做的就是從API獲取屬性。 – yanike
以下是處理常見XML錯誤的指南。 http://au2.php.net/manual/en/simplexml.examples-errors.php –
此外,我明白你想使用W3Schools教程,但嚴重的是,它完全過時並且需要很長時間才能實現。 SimpleXML旨在改善我們在PHP中遇到的可怕的XML情況。 –
我該如何使用沒有文檔類型的API來做到這一點?我想使用W3Schools教程,因爲這是我從中學到的。我已經準備好了一切,我需要做的就是從API獲取屬性。 – yanike
SimpleXML不需要HTML文檔類型定義,只需要有效的XML(即以''標籤開始幷包含頂級XML節點)。 W3Schools教程麻煩而且效率低下,你應該可以在任何設置中使用它。 – nickb
我使用的api沒有開頭。我如何驗證它?我嘗試使用simplexml_load_file(file.xml,LIBXML_DTDVALID(1));但它不起作用。我真的需要使用代碼來創建一個XML文檔來驗證它嗎? – yanike