php - 使用 php Xpath 更新 xml 文件

标签 php xml xslt xpath

如何使用 Xpath (php) 更新文件? 我的文件结构:

<?xml version="1.0" encoding="ISO-8859-1"?>
<PersonList>
  <Person>
    <Name>Sonu Kapoor</Name>
    <Age>24</Age>
    <Gender>M</Gender>
    <PostalCode>54879</PostalCode>
  </Person>
  <Person>
    <Name>Jasmin</Name>
    <Age>28</Age>
    <Gender>F</Gender>
    <PostalCode>78745</PostalCode>
  </Person>
   <Person>
    <Name>Josef</Name>
    <Age>232</Age>
    <Gender>F</Gender>
    <PostalCode>53454</PostalCode>
  </Person>
</PersonList>

我需要更改名称为“Jasmin”的年龄和性别值。我尝试使用谷歌,但没有找到任何好东西:(

最佳答案

你可以试试simplexml

$xml = simplexml_load_string($str);
$obj = $xml->xpath('//Person[Name="Jasmin"]');
$obj[0]->Age = 30;
$obj[0]->Gender = 'M';
echo $xml->asXml();

/* or */ 
$xml->asXml($filename); <-- save xml into file

关于php - 使用 php Xpath 更新 xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4506354/

相关文章:

javascript - 通过事件处理程序将参数从一个函数发送到另一个函数

c# - 可以使用 XML 列来存储额外的数据吗?

使用 xquery 比较 XML

xml - 在另一个 CDATA 中使用 CDATA

ruby - 谁能帮我使用 Ruby 抓取亚马逊产品 API?

xml - xslt编程时 'or'和 '|'有什么区别?

java - 需要替换包含 的 xslt 句子。 (点)带有空格

php - 交响乐2 : Is it possible to import a PHP file in YAML file?

php - 在 eclipse PDT 中调试期间不显示值

php - 如何绑定(bind)响应数据以在laravel 5中查看