我正在製作一個界面網站來更新樂隊網站上的音樂會列表。 列表存儲爲一個XML文件具有這樣的結構:使用PHP腳本更新XML文件
我已經寫了一個腳本,使我到一個新的演出添加到列表中,這是比較容易...... 現在我想編寫一個腳本,使我能夠編輯列表中的某個演出。 由於第一個屬性「id」,每個Gig都是唯一的。 我想使用此引用來編輯該節點中的其他屬性。 我的PHP是非常差的,所以我希望有人可以把我的腳好這裏... 我的PHP腳本:
0
A
回答
1
你要加載一個domdocument的XML文件
<?
$xml = new DOMDocument();
$xml->load("xmlfile.xml");
//find the tags that you want to update
$tags = $xml->getElementsByTagName("GIG");
//find the tag with the id you want to update
foreach ($tags as $tag) {
if($tag->getAttribute("id") == $id) { //found the tag, now update the attribute
$tag->setAttribute("[attributeName]", "[attributeValue]");
}
}
//save the xml
$xml->save();
?>
代碼是未經測試,但它是一個總體思路
2
嗯,我不知道你的XML結構是什麼樣子,但是:
<gig id="someid">
<venue></venue>
<day></day>
<month></month>
<year></year>
</gig>
$xml = new SimpleXmlElement('gig.xml',null, true);
$gig = $xml->xpath('//gig[@id="'.$_POST['id'].'"]');
$gig->venue = $_POST['venue'];
$gig->month = $_POST['month'];
// etc..
$xml->asXml('gig.xml)'; // save back to file
現在如果所有這些數據點都是屬性,您可以使用$gig->attributes()->venue
來訪問它。
除非您使用一個帖子進行多個更新,否則不需要循環 - 您可以通過XPAth查詢獲取任何特定記錄。與DOMDOcument相比,SimpleXML同樣輕得多,而且更容易使用這種類型的東西 - 特別是因爲您不使用DOMDocument的功能。
+1
SimpleXML的+1 ..檢查這些資源,以更好地瞭解這裏做了什麼.. PHP的SimpleXML類 - http://devzone.zend.com/article/688 和Xpath - http:// www。 w3schools.com/XPath/xpath_syntax.asp – Anurag
相關問題
- 1. 使用msbuild中的xml腳本更新xml文件
- 2. 更新XML文件數據的腳本
- 3. 使用php Xpath更新xml文件
- 4. 使用php腳本更新php文件的部分
- 5. php自動更新腳本文件
- 6. PHP腳本保存xml而不更新
- 7. 使用XML/CSV/FTP自動php/mysql更新腳本
- 8. php腳本使用重複鍵更新
- 9. 使用PHP腳本更新Cell SmartSheet 2.0
- 10. PHP:使用腳本更新數據庫
- 11. 使用LINQ更新xml文件到xml
- 12. 用php simplexml工具更新xml文件
- 13. PHP腳本來強制xml文件
- 14. 使用bash腳本處理XML文件
- 15. 使用perl腳本分割xml文件
- 16. haskell xml使用HXT庫更新文本
- 17. 使用PHP腳本更改PHP文件的一個字
- 18. 使用XSLT或PHP腳本重構XML文件
- 19. 如何使用PHP腳本將CSV文件轉換爲XML?
- 20. 用於插入和更新xml數據的PHP cron腳本
- 21. XML文件未通過託管服務器上的PHP腳本進行更新
- 22. 多位用戶使用AJAX/PHP更新XML文件
- 23. 使用maven更新腳本
- 24. Powershell腳本來更新XML文件內容
- 25. PHP的DOMDocument - 檢查更新XML文件
- 26. PHP SimpleXML錯誤更新xml文件
- 27. 發送xml文件從python腳本到php腳本下載
- 28. 使用Linq更新XML文件
- 29. XML文件未使用jdom更新
- 30. 使用JAXB更新XML模板文件
感謝您的回覆... $ tag-> setAttribute(「[attributeName]」,「[attributeValue]」);這個代碼本身並沒有工作...請建議它... – viswanathan
你是如何使用它?首先查看文檔以確保正確使用它http://www.php.net/manual/en/domelement.setattribute.php –
@viswanathan:您遇到的問題是由於保存( ) 方法 。您需要使用需要更新的XML文件的名稱將參數傳遞給此方法。 – Saiesh