PHP从xml文件中获取特定数据

This is XML file.

<?xml version="1.0" encoding="utf-8"?>
<UW xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/XMLSchema.xsd">
  <UWdata>
    <List>
      <IdProduct>1</IdProduct>
      <ProductName>product</ProductName>
      <ProductNameDE>product</ProductNameDE>
      <ProductNameEN>product</ProductNameEN>
      <Uf>1</Uf>
      <PSIg>1</PSIg>
      <Ug>1</Ug>
    </List>
  </UWdata>
</UW> 


$lines_array=file($url);
$lines_string=implode('',$lines_array);
$xml=simplexml_load_string($lines_string) or die("Error: Cannot create object");

I try with this

echo $xml->UWdata[1]->ProductName;

But it doesn't return anything.I want to return Product name.

I modified your script and put the xml in an external file called testxml.xml, as it should be. Always separate the function and the data it's supposed to handle. I used your xml like this:

<?xml version="1.0" encoding="utf-8"?>
<UW xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/XMLSchema.xsd">
  <UWdata>
    <List>
      <IdProduct>1</IdProduct>
      <ProductName>productTEST</ProductName>
      <ProductNameDE>product</ProductNameDE>
      <ProductNameEN>product</ProductNameEN>
      <Uf>1</Uf>
      <PSIg>1</PSIg>
      <Ug>1</Ug>
    </List>
  </UWdata>
</UW>

And with the following script it returns productTEST only.

$xmlstr = file_get_contents('./testxml.xml');
$xml = simplexml_load_string($xmlstr);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
echo $array['UWdata']['List']['ProductName'];

Hope this helps.

//edit: While I do not know your project, you might want to take a foreach-approach if it is possible for your xml to contain more than one List element

Sample code, Use simplexml_load_string

<?php
$a = '<?xml version="1.0" encoding="utf-8"?>
<UW xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/XMLSchema.xsd">
  <UWdata>
    <List>
      <IdProduct>1</IdProduct>
      <ProductName>product</ProductName>
      <ProductNameDE>product</ProductNameDE>
      <ProductNameEN>product</ProductNameEN>
      <Uf>1</Uf>
      <PSIg>1</PSIg>
      <Ug>1</Ug>
    </List>
  </UWdata>
</UW>';

$xml=simplexml_load_string($a) or die("Error: Cannot create object");

echo ($xml->UWdata->List->ProductName);
?>