我的xml文件格式如下
<mainvalue>
<asd><url>http://someurl.com</url><active>yes</active></asd>
<qwe><url>http://someurl.com</url><active>no</active></qwe>
<zxc><url>http://someurl.com</url><active>yes</active></zxc>
</mainvalue>
我需要获取<asd>, <qwe> and <zxc>
的值,因为我只知道如何将值作为名称或任何实体但不是随机值。加上获得active
状态
然后使用php
<span class="<?php echo $active_status; ?>"><?php echo $value;</span>
页面
请注意,我确实需要将这些值作为单独的名称,而不是全部。
提前致谢
答案 0 :(得分:1)
这是非常简单的示例代码。我已将最终的字符串输出格式作为练习留给读者。
$xml = <<<XML
<mainvalue>
<asd><url>http://someurl.com</url><active>yes</active></asd>
<qwe><url>http://someurl.com</url><active>no</active></qwe>
<zxc><url>http://someurl.com</url><active>yes</active></zxc>
</mainvalue>
XML;
$dom = new DOMDocument();
$dom->loadXML($xml);
$xpath = new DOMXPath($dom);
foreach ($dom->documentElement->childNodes as $node) {
if ($node instanceof DOMElement) {
echo $node->nodeName . "\t"; // wacky node name
echo $xpath->evaluate('string(./active)', $node) . "\n"; // serious active value
}
}
asd yes
qwe no
zxc yes
答案 1 :(得分:-1)
使用
$sxe = simplexml_load_file($xml_name)
加载xml文件;然后
echo $sxe->asd->url->attributes();
访问它