2012-04-26 2 views
-2
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE Catalog SYSTEM "http://store.yahoo.com/doc/dtd/Catalog.dtd"> 
<Catalog StoreID="yhst-34564052343" StoreName="test.com" PublishTimestamp="1332786206"> 
<Item ID="10170090" TableID="yd-item"> 
<ItemField TableFieldID="more-image3" Value="test1"/> 
<ItemField TableFieldID="price-range" Value="23"/> 
<ItemField TableFieldID="more-image4" Value="test2"/> 
<ItemField TableFieldID="name" Value="Liquid Light Drop 1 Pendant Light"/> 
</Item> 
<Item ID="10170191" TableID="yd-item"> 
<ItemField TableFieldID="more-image3" Value="test3"/> 
<ItemField TableFieldID="price-range" Value="34"/> 
<ItemField TableFieldID="more-image4" Value="test4"/> 
<ItemField TableFieldID="name" Value="Liquid Light Drop 4 Pendant Light"/> 
</Item> 
</Catalog> 

мне нужен выход, так что если ID 10170191 прошло, то выход, как показано ниже:Нужен скрипт для разбора этого XML с «ID» как условие

more-image3:-test3 
price-range:-34 
more-image4:-test4 
name:-Liquid Light Drop 4 Pendant Light 
+3

Добро пожаловать в StackOverflow. Пожалуйста, ознакомьтесь с [FAQ] (http://stackoverflow.com/faq) и особенно [Как задать вопросы здесь?] (Http://stackoverflow.com/faq#howtoask) для некоторых рекомендаций о том, как задавать вопросы здесь , –

+2

проверить основы http://php.net/manual/en/ref.xml.php – ray

+0

Или даже более простые ... http://www.php.net/manual/en/simplexml.examples-basic.php – Gustav

ответ

0

Попробуйте это:

<?php 
$xml='<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE Catalog SYSTEM "http://store.yahoo.com/doc/dtd/Catalog.dtd"> 
<Catalog StoreID="yhst-34564052343" StoreName="test.com" PublishTimestamp="1332786206"> 
<Item ID="10170090" TableID="yd-item"> 
<ItemField TableFieldID="more-image3" Value="test1"/> 
<ItemField TableFieldID="price-range" Value="23"/> 
<ItemField TableFieldID="more-image4" Value="test2"/> 
<ItemField TableFieldID="name" Value="Liquid Light Drop 1 Pendant Light"/> 
</Item> 
<Item ID="10170191" TableID="yd-item"> 
<ItemField TableFieldID="more-image3" Value="test3"/> 
<ItemField TableFieldID="price-range" Value="34"/> 
<ItemField TableFieldID="more-image4" Value="test4"/> 
<ItemField TableFieldID="name" Value="Liquid Light Drop 4 Pendant Light"/> 
</Item> 
</Catalog>'; 

$xml=simplexml_load_string($xml); 
$xpath=$xml->xpath('//Catalog/Item[@ID="10170191"]'); 
foreach($xpath as $result) { 
    foreach($result->ItemField as $path) { 
     echo $path['TableFieldID'] . ': ' . $path['Value'] . '<br />'; 
    } 
} 
?> 

Надеюсь, это поможет.

+0

Большое спасибо pushpesh ... вы должны быть отличным программистом PHP – user1357931

 Смежные вопросы

  • Нет связанных вопросов^_^