0
因此,我有一個XML文件(MS Word文件的XML導出)。什麼我只是試圖做的是更換這兩行:PHP DOM問題在XML中搜索<w:t>標籤
<w:t>Meno:</w:t>
和:
<w:t>Priezvisko:</w:t>
這是一個較長的XML摘錄:
<w:p w:rsidR="00CF175F" w:rsidRDefault="00CF175F">
−
<w:r>
<w:t>Meno:</w:t>
</w:r>
</w:p>
−
<w:p w:rsidR="00CF175F" w:rsidRDefault="00CF175F">
−
<w:r>
<w:t>Priezvisko:</w:t>
</w:r>
</w:p>
我做它像這樣:
$xml = file_get_contents('file.xml');
$doc = new DOMDocument();
$doc->loadXML($xml);
$doc->preserveWhiteSpace = false;
$wts = $doc->getElementsByTagNameNS('http://schemas.openxmlformats.org/wordprocessingml/2006/main','t');
foreach ($wts as $wt) {
echo 1;
//if ('Meno:' === substr($wt->nodevalue, 0, 5)) {
//echo 1;
//}
}
該腳本不回聲興。爲什麼getElementsByTagName不起作用? XML中有數十個w:t標籤。
對不起,還沒有得到一個完整的答案的時候看到這個:。HTTP:/ /de2.php.net/manual/en/domelement.getelementsbytagnamens.php和這個:http://www.w3.org/TR/xml-names/ – Boldewyn 2010-07-16 12:34:56
謝謝,我已經想通了Rob Levine。Check我的更新回答(問題與命名空間有關) – 2010-07-16 13:02:51
(旁註)您可以使用'DOMDocument :: loadXMLFile'來加載DOM文件 – Gordon 2010-07-16 13:20:49