通过php中的属性搜索xml元素

时间:2013-04-30 17:03:26

标签: php xml simplexml domdocument

我认为这个问题已经重复,但我对之前的答案并不满意。

我有一个XML文件

<?xml version="1.0" encoding="UTF-8"?> <forms xml:id="cust_type">
     <form>
        <element id="cust_type" type="dropdown" name="cust_type" desc="Customer Type*"  value="" div_attr="select_long" 
 class="required select" validate="required"></element>
<element type="text" name="form_no" desc="Form No"  div_attr="txt_short" value="" class="number" validate="numeric"></element>
</form> 
</forms>

我想只获取id =“cust_type”或name =“cust_type”的元素。 但是我没有得到它。

请使用SimpleXML或DOMDocument建议代码。

1 个答案:

答案 0 :(得分:0)

使用simplexmlxpath

$xml = simplexml_load_string($x); // assume XML in $x
$elements = $xml->xpath("//element[@id='cust_type' or @name='cust_type']");
foreach ($elements as $element) echo $element['name'] . "<br />";

参见工作演示:http://codepad.viper-7.com/EzmGWJ