在特定条件下加载简单 XML 文件



我正在使用SimpleXML从目录中加载大量文件。所有文件都具有相同的结构,具有不同的值,您可以将它们视为xml接收。 我想实现的是加载文件并根据特定值显示内容,例如客户名称。我是这样做的:

$files = glob('../my_directory/*.xml');
$customerName = $_GET['customer_name'];
foreach ($files as $value) {
$xml = simplexml_load_file($value);
echo"
<tr>
<td>" .$xml->Header->Transmission->CustomerName. "</td>
// and so on......................
</tr>
";
}

一切正常,但是,正如我所说,我必须根据$customerName值显示内容并显示该值的所有数据。我用谷歌搜索了很多,但我没有找到任何帮助。我尝试了类似的东西

if ($xml->Header->Transmission->CustomerName === $customerName) {
// do something
}

但不起作用。知道吗?

好吧,我要放弃了,但我设法以这种方式解决了问题(希望这可以帮助其他人(:

// select the directory with xml files
$files = glob('../my_directory/*.xml');
// define the data I need 
$customer_name = $_GET['customer_name'];
// load the files
foreach ($files as $value) {
$xml = simplexml_load_file($value);
// define the variable with the data I want to check
$CustomerName = $xml->Header->Transmission->CustomerName;
// check for the correspondence
foreach ($CustomerName as $name) {
if ($name === $customer_name ) {
echo"
<tr>
<td>" .$xml->Header->Transmission->CustomerName. "</td>
// do my stuff here ......................
</tr>
";
}
}
}

相关内容

  • 没有找到相关文章