php:xml解析并返回xml

php:xml解析并返回xml,php,xml,xml-parsing,simplexml,Php,Xml,Xml Parsing,Simplexml,XML解析不起作用 <?php $input = "file1.xml"; $xml = simplexml_load_file($input); $data-content = $xml->data->getAssetResponse->content; $new-data = str_replace("NEW", "OLD", (string)$data-content); $xml_object->data->getAssetResponse->

XML解析不起作用

<?php 
$input = "file1.xml";
$xml = simplexml_load_file($input);
$data-content = $xml->data->getAssetResponse->content;
$new-data = str_replace("NEW", "OLD", (string)$data-content);
$xml_object->data->getAssetResponse->content = $new-data;
print $xml_object->asXML(); 
?>


我可以知道为什么这不起作用吗?

连字符在PHP变量名中无效。我建议用下划线代替它们,如
$new\u data
$data\u content
。最后,您将初始化
$xml
,但稍后将尝试使用未知变量
$xml\u object
。将它们更改为
$xml

$input = "file1.xml";
$xml = simplexml_load_file($input);
$data_content = $xml->data->getAssetResponse->content;
$new_data = str_replace("text", "REPLACED STUFF", (string)$data_content);
$xml->data->getAssetResponse->content = $new_data;
print $xml->asXML(); 

// Outputs:
<response>
  <statusCode>200</statusCode> 
  <statusText>OK</statusText> 
  <data>
    <getAssetResponse> 
      <assetId>89898</assetId> 
      <content> some text with HTML content some REPLACED STUFF with HTML content </content>
    </getAssetResponse> 
  </data>
</response>
$input=“file1.xml”;
$xml=simplexml\u加载文件($input);
$data\u content=$xml->data->getAssetResponse->content;
$new_data=str_replace(“文本”、“替换的内容”、(字符串)$data_内容);
$xml->data->getAssetResponse->content=$new\u数据;
打印$xml->asXML();
//产出:
200
好啊

变量名遵循与PHP中其他标签相同的规则。有效的变量名以字母或下划线开头,后跟任意数量的字母、数字或下划线。作为正则表达式,它可以这样表示:“[a-zA-Z\ux7F-\xff][a-zA-Z0-9\ux7F-\xff]*”


没有更多的上下文。数据是什么样子的?看看这是我的XML 200 OK 89898一些带有HTML内容XML的文本