更改从源返回的文本


altering text returned from source

此代码从加拿大邮政的服务器中提取运输选项的名称。 我需要以某种方式指定,如果它返回为"加急",则应改为"加拿大邮政"。 这可能吗?

$name = substr(
   $resultXML,
   strpos($resultXML, "<name>") + strlen("<name>"),
   strpos($resultXML, "</name>") - strlen("<name>") - strpos($resultXML, "<name>")
);

您可以使用一个简单的if语句:

if ($name === 'Expedited') {
    $name = 'Canada Post';
}

你需要使用内置在php中的简单xml解析器

// make it more error friendly
$saved = libxml_use_internal_errors(true);
//load the xml as object
$xml = simplexml_load_string($inputString);
if ($xml === false) { 
    foreach (libxml_get_errors() as $error) {
        echo $error->message, "'n";
    }
    libxml_use_internal_errors($saved);
    return;
}
libxml_use_internal_errors($saved);
echo $xml->asXML(); //you can see the XML here

根据对象位置获取名称,如$xml->obj1->name