使用php解析xml数据

时间:2010-06-27 14:06:28

标签: php xml

亲爱的,我有下面的示例文件。我可以从简单的xml标签中解析数据。但是我如何解析这种类型的xml标签中的数据呢?< p:价格>测试数据< / P:价格>或者< p1:translation lang =“en”type =“text”> pls guide ..

示例xml文件

<?xml version="1.0" encoding="UTF-8"?>
    <mynotes>
   <note>
     <tasks>Task 1</tasks>
     <details>Detail 1</details>
   </note>
   <note>
     <tasks>Task2</tasks>
     <details> Detail 2</details>   
   </note>
      <test>test data</test>
    </mynotes>

php code ...

$objDOM = new DOMDocument();
$objDOM->load("abc.xml"); //make sure path is correct
$note = $objDOM->getElementsByTagName("note");  
foreach( $note as $value )
  {
    $tasks = $value->getElementsByTagName("tasks");
    $task  = $tasks->item(0)->nodeValue;
    $details = $value->getElementsByTagName("details");
    $detail  = $details->item(0)->nodeValue;    
    echo "$task :: $detail<br>";
  }

  $test = $objDOM->getElementsByTagName("test");
  $testValue  = $test->item(0)->nodeValue;
  echo $testValue;

我无法解析来自&lt; p1:translation lang =“en”type =“text”&gt;这种类型的标签..pls指导我如何解析这种类型的标签或&lt;类别:applicationCategory&gt;这种类型的xml标签....

感谢
里亚德

1 个答案:

答案 0 :(得分:1)

您需要按名称空间和标记名进行查询。有针对它的getElementsByTagnameNS方法:http://www.php.net/manual/en/domdocument.getelementsbytagnamens.php