我正在制作一个界面网站来更新乐队网站上的音乐会列表。 列表存储为一个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