在 PHP 中使用 DOM 文档进行 XML 读取


XML reading with DOM Document in PHP

我有这个XML(其中一部分张贴在这里)

<products>
- <product no="AP1126S-07" name=""Clergoux" set kravata" price="449.8" currency="Kč">
- <folders>
  <folder category="Fashion" subcategory="kravaty" /> 
  </folders>
 <description name="POPIS PRODUKTU">Hedvábná kravata André Philippe s manžetovými         knoflíčky a kapesníčkem v dárkové krabičce zabalené do stejné látky, ze které je vyrobená kravata.</description> 
- <properties>
  <property name="ROZMĚRY VÝROBKU" value="110×105×110 mm" /> 
  <property name="KS / KARTON" value="96" /> 
  <property name="HMOTNOST KARTONU" value="31,5" /> 
  <property name="NETTO HMOTNOST / KARTON" value="29,5" /> 
  <property name="DIM1" value="90" /> 
  <property name="DIM2" value="45" /> 
  <property name="DIM3" value="36" /> 
  <property name="TECHNOLIGIE POTISKU" value="T1 (8C, 80×50 mm)" /> 
  <property name="TARIF" value="6215100090" /> 
  <property name="M3/CARTON" value="0,146" /> 
  <property name="COOL 2014 KAPITOLA" value="fashion" /> 
  <property name="COOL 2014 STRANY" value="407" /> 
  <property name="main category" value="fashion" /> 
   </properties>
 - <images>
   <image src="http://www.andapresent.com/kepek/cms/original/26484.jpg" /> 
   </images>
 - <stocks>
   <stock name="navi_central" value="150" /> 
   <stock name="navi_arrive" value="" date="" /> 
   <stock name="eu_central" value="" date="" /> 
   <stock name="eu_arrive_1" value="" date="" /> 
   <stock name="eu_arive_2" value="" date="" /> 
   </stocks>

我需要检查代码(例如在产品 no='AP1126S-07'中)是否是一些代码,如果它检查

我需要去读取库存价值(仓库中的物品,当前库存列表)。

我正在使用 DOMDocument,但我以前从未使用过它,我很难理解如何读取 XML 部分中的值。

谢谢!任何帮助不胜感激

我的更新代码

$xmlString = 'anda_xml_export2.xml';
$doc = new DomDocument();
$doc->load($xmlString);
    $product = $doc->getElementsByTagName('product');
    $sku = $product->item(0)->getAttribute('no');
    echo $sku;
    if($sku=='AP1126S-07'){
        $my_stocks_node = $product->getElementsByTagName("stocks");
        $my_stock_node = $my_stocks_node->getElementsByTagName("stock");
        $stock = $my_stock_node->item(0)->getAttribute('value');
        echo "stock : ";
        echo $stock;
    }
echo $sku;

$product是一个DomElement。您可以使用getAttribute函数访问DomElements的属性,因此,在这种情况下,$product->getAttribute ('no');