空标记xml+;php+;多姆
如何将标记引用指定给文本空标记xml+;php+;多姆,php,xml,dom,Php,Xml,Dom,如何将标记引用指定给文本 $xml =<<<EOT <?xml version="1.0"?> <root> <section name="Section2"> <category id="category1_of_section2" name="msn"> teste <arti name="article2">value1</arti> <arti name="article3
$xml =<<<EOT
<?xml version="1.0"?>
<root>
<section name="Section2">
<category id="category1_of_section2" name="msn">
teste
<arti name="article2">value1</arti>
<arti name="article3">value2 <sref ref="article6" />value6 <sref ref="article7" />value7</arti>
<arti name="article4">value3 <sref ref="article8" />value8</arti>
</category>
<category id="Category2_of_section2" name="webcare">
<arti name="param3">value4</arti>
</category>
</section>
</root>
EOT;
$dom = new DomDocument;
$dom->preserveWhiteSpace = FALSE;
$dom->loadXML($xml);
$params = $dom->getElementsByTagName('section'); // Find Sections
$k=0;
$numero2=0;
$roomStr3="";
foreach ($params as $param)
{
echo "Section Attribute :-> ".$params->item($k)->getAttribute('name')."<br>";
$params2 = $params->item($k)->getElementsByTagName('category');
$i=0;
foreach ($params2 as $p)
{
echo " - Category Attribute Name :-> ".$params2->item($i)->getAttribute('name')."<br>";
$params3 = $params2->item($i)->getElementsByTagName('arti');
$j=0;
foreach ($params3 as $p2)
{
echo " - Article Attribute Name : ".$params3->item($j)->getAttribute('name')."";
echo " Value : ".$params3->item($j)->nodeValue."<br>";
var_dump($params3->item($j));
$elems3 = $params3->item($j)->getElementsByTagName('sref');
$j++;
}
$i++;
}
$k++;
}
//Print
Section Attribute :-> Section2
- Category Attribute Name :-> msn
- Article Attribute Name : article2 Value : value1
- Article Attribute Name : article3 Value : value2 value6 value7
- Article Attribute Name : article4 Value : value3 value8
- Category Attribute Name :-> webcare
- Article Attribute Name : param3 Value : value
$xml=getElementsByTagName('section');//查找部分
$k=0;
$numero2=0;
$roomStr3=“”;
foreach($params作为$param)
{
echo“Section属性:->”$params->item($k)->getAttribute('name')。“
”;
$params2=$params->item($k)->getElementsByTagName('category');
$i=0;
foreach($params2作为$p)
{
echo“-Category属性名称:->”$params2->item($i)->getAttribute('Name')。“
”;
$params3=$params2->item($i)->getElementsByTagName('arti');
$j=0;
foreach($params3作为$p2)
{
echo“-Article属性名称:“..params3->item($j)->getAttribute('Name')”;
echo“Value:”$params3->item($j)->nodeValue。“
”;
变量转储($params3->item($j));
$elems3=$params3->item($j)->getElementsByTagName('sref');
$j++;
}
$i++;
}
$k++;
}
//印刷品
节属性:->节2
-类别属性名称:->msn
-项目属性名称:article2值:value1
-物品属性名称:物品3值:值2值6值7
-物品属性名称:article4值:value3值8
-类别属性名称:->webcare
-项目属性名称:param3值:值
如何显示ref
例:
- 物品属性名称:article3值:value2ref=“article6”:value6ref=“article7”:value7
- 物品属性名称:article4值:value3ref=“article8”:value8
getAttribute
函数来完成此操作
您已经使用过它:
echo " - Article Attribute Name : ".$params3->item($j)->getAttribute('name')."";
只需对
-元素执行相同的操作:
$elems3 = $params3->item($j)->getElementsByTagName('sref');
$elems3Attribute = $elems3->getAttribute('ref');
您能否将代码简化为相关部分,并尝试更好地解释标题“为文本xml php分配空标记”上下文中“如何显示引用”的含义