我已經找到了如何使用PHP DOM替換具有PHP字符串的特定節點值,現在我需要將這些XML值打印到表單字段中。對於替換我使用這個PHP代碼,並可能在某種程度上我可以修改打印特定值這個代碼,因爲這個XML文件是很複雜的在PHP中打印特定的XML節點值(1)
$file = "../word/document.xml";
$fp = fopen($file, "rb") or die("error");
$str = fread($fp, filesize($file));
$xml = new DOMDocument();
$xml->formatOutput = true;
$xml->preserveWhiteSpace = false;
$xml->loadXML($str) or die("Error");
$root = $xml->documentElement;
$fnode = $root->childNodes->item(0);
$ori = $fnode->childNodes->item(1);
$ori1 = $ori->childNodes->item(3);
$ori2 = $ori1->childNodes->item(1);
$ori3 = $ori2->childNodes->item(1);
$ori4 = $ori3->childNodes->item(1);
$ori5 = $ori4->childNodes->item(1);
$wt = $xml->createElement("w:t");
$wtText = $xml->createTextNode("".$name." ".$surname."");
$wt->appendChild($wtText);
$ori4->replaceChild($wt,$ori5);
$xml->save("../word/document.xml");
我需要達到相同的值($ ori5)和打印以形成領域,但我不知道如何做到這一點。
XML文件可以發現here:
<w:document mc:Ignorable="w14 wp14">
<w:body>
<w:tbl>
<w:tr w:rsidR="000171B5" w:rsidTr="00272F6E">
<w:tc>
<w:p w:rsidR="000171B5" w:rsidRPr="00075BEA" w:rsidRDefault="000171B5" w:rsidP="000171B5">
<w:r w:rsidRPr="00075BEA">
<w:t>Vardas pavarde</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
</w:tbl>
</w:body>
</w:document>
認爲最好包含您的XML樣本的樣本。你可以更好地解析你的XML,並且我們能夠更好地幫助你獲得這些信息。至於你的問題,我很困惑,你是否正在尋找一種更好的方式來完成你已經在做的事情,或者一種將XML值輸出到HTML表單的方法? – mseancole
編輯我的帖子。 –
如果你有一個複雜的XML結構,也許你應該考慮使用XPath來獲取值,DOM可能會很痛苦 –