我已经写了一个php脚本,不,我想在php中获取xml值,但有些值并没有在表中查看
朋友们,请告诉我这个代码中的哪个问题。如果有人知道答案,请告诉我。 //朋友们,请告诉我这个代码中的哪个问题。如果有人知道答案,请告诉我我已经写了一个php脚本,不,我想在php中获取xml值,但有些值并没有在表中查看,php,xml,Php,Xml,朋友们,请告诉我这个代码中的哪个问题。如果有人知道答案,请告诉我。 //朋友们,请告诉我这个代码中的哪个问题。如果有人知道答案,请告诉我 <?php $sXml= "<?xml version='1.0' encoding='UTF-8'?> <Projects_Detail> <Mr-Imran> <projectBudget>125000</projectBudget> <EmpNo&g
<?php
$sXml=
"<?xml version='1.0' encoding='UTF-8'?>
<Projects_Detail>
<Mr-Imran>
<projectBudget>125000</projectBudget>
<EmpNo>E100</EmpNo>
<DeptName>IT</DeptName>
<HourlyRate>625</HourlyRate>
</Mr-Imran>
<Mr-Imran>
<projectBudget>120000</projectBudget>
<EmpNo>E101</EmpNo>
<DeptName>Database</DeptName>
<HourlyRate>500</HourlyRate>
</Mr-Imran>
<Mr-Imran>
<projectBudget>135000</projectBudget>
<EmpNo>E102</EmpNo>
<DeptName>IT</DeptName>
<HourlyRate>550</HourlyRate>
</Mr-Imran>
<Mr-Imran>
<projectBudget>115000</projectBudget>
<EmpNo>E103</EmpNo>
<DeptName>Testing</DeptName>
<HourlyRate>400</HourlyRate>
</Mr-Imran>
<Mr-Imran>
<projectBudget>150000</projectBudget>
<EmpNo>E110</EmpNo>
<DeptName>Database</DeptName>
<HourlyRate>375</HourlyRate>
</Mr-Imran>
<Mr-Imran>
<projectBudget>140000</projectBudget>
<EmpNo>E112</EmpNo>
<DeptName>Testing</DeptName>
<HourlyRate>425</HourlyRate>
</Mr-Imran>
</Projects_Detail>
";
$oXML = simplexml_load_string($sXml);
if (!$oXML) {
die('xml format not valid or simplexml module missing.');
}
// assuming running the root
$oXmlRoot = $oXML;
// or can be [$oXML->food]
//echo '<pre>'; print_r( $oXmlRoot ); echo '</pre>';
echo xmlToHtmlTable($oXmlRoot);
function xmlToHtmlTable($p_oXmlRoot) {
$bIsHeaderProceessed = false;
$sTHead = '';
$sTBody = '';
foreach ($p_oXmlRoot as $oNode) {
$sTBody .= '<tr>';
foreach ($oNode as $sName => $oValue){
if (!$bIsHeaderProceessed) {
$sTHead .= "<th>{$sName}</th>";
}
$sValue = (string)$oValue;
$sTBody .= "<td>{$sValue}</td>";
}
$bIsHeaderProceessed = true;
$sTBody .= '</tr>';
}
$sHTML = "<table border=1>
<thead><tr>{$sTHead}</tr></thead>
<tbody>{$sTBody}</tbody>
</table>";
return $sHTML;
} ?>
$oValue){
如果(!$bisheaderproceed){
$sHead.=“{$sName}”;
}
$sValue=(字符串)$oValue;
$sTBody.=“{$sValue}”;
}
$bIsHeaderProceessed=true;
$sTBody.='';
}
$sHTML=”
{$sHead}
{$sTBody}
";
返回$sHTML;
} ?>
以上代码的输出如下
但我想得到这个密码
如果更改外部foreach循环的开始,这可以为您提供项目经理的名称(假设它只是封闭元素的名称)。然后,以与其他列相同的方式添加此内容
foreach($projectManager=>oNode的p_-oXmlRoot){//Include-manager-as-key
$sTBody.='';
//添加管理器标题
如果(!$BisheaderProceed){
$sHead.=“项目经理”;
}
//将实际值添加到表中
$sTBody.=“{$projectManager}”;
foreach($node作为$sName=>$oValue){
foreach ($p_oXmlRoot as $projectManager=>$oNode) { // Include manager as key
$sTBody .= '<tr>';
// Add manager header
if (!$bIsHeaderProceessed) {
$sTHead .= "<th>ProjectManager</th>";
}
// Add the actual value into the table
$sTBody .= "<td>{$projectManager}</td>";
foreach ($oNode as $sName => $oValue){