[英]Get the value of an attribute from xml file then use it in a string with php?
This might seem easy but I can't get my head around it: I have the following incoming xml 这似乎很容易,但是我无法解决:我有以下传入的xml
<FEEDBACKLIST>
<SUMMARY>
<MODE>product</MODE>
<VENDORLOGON>www.shoponline.co.uk</VENDORLOGON>
<VENDORREF>498</VENDORREF>
<TOTALSERVICECOUNT>1</TOTALSERVICECOUNT>
<TOTALPRODUCTCOUNT>1</TOTALPRODUCTCOUNT>
<COUNT>1</COUNT>
<SUPPLIERLOGO>
http://www.feefo.com/feefo/getnonpublicfile.jsp?vendorimage=777327&vendorimageext=file.png
</SUPPLIERLOGO>
<TITLE>Kawai ES100 Piano</TITLE>
<BEST>100</BEST>
<WORST>0</WORST>
<AVERAGE>100</AVERAGE>
<START>1</START>
<LIMIT>20</LIMIT>
<SERVICEEXCELLENT>1</SERVICEEXCELLENT>
<SERVICEGOOD>0</SERVICEGOOD>
<SERVICEPOOR>0</SERVICEPOOR>
<SERVICEBAD>0</SERVICEBAD>
<PRODUCTEXCELLENT>1</PRODUCTEXCELLENT>
<PRODUCTGOOD>0</PRODUCTGOOD>
<PRODUCTPOOR>0</PRODUCTPOOR>
<PRODUCTBAD>0</PRODUCTBAD>
<TOTALRESPONSES>18</TOTALRESPONSES>
<FEEDGENERATION>Wed Mar 12 16:05:57 GMT 2014</FEEDGENERATION>
<PRODUCTLINK>
http://shop.co.uk/product.php?id=498-Kawai-ES100-Digital-Piano-in-Black
</PRODUCTLINK>
</SUMMARY>
<FEEDBACK>
<FEEDBACKID>117</FEEDBACKID>
<COUNT>1</COUNT>
<DATE>05-Mar-2014</DATE>
<HREVIEWDATE>2014-03-05T20:07:39</HREVIEWDATE>
<DESCRIPTION>Kawai ES100 Piano</DESCRIPTION>
<PRODUCTCODE>498</PRODUCTCODE>
<LINK>
http://shop.co.uk/product.php?id=498-Kawai-ES100-Digital-Piano-in-Black
</LINK>
<FACEBOOKSHARELINK>
http://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.feefo.com%2FGB%2Fen%2Freviews%2Fbla%2F%3Fid%3D777327%26servicefeedbackid%3D117
</FACEBOOKSHARELINK>
<HREVIEWRATING>5</HREVIEWRATING>
<PRODUCTRATING>++</PRODUCTRATING>
<CUSTOMERCOMMENT>Great digital piano</CUSTOMERCOMMENT>
<SHORTCUSTOMERCOMMENT>Great digital piano</SHORTCUSTOMERCOMMENT>
<READMOREURL>
http://www.feefo.com/GB/en/reviews/Keysound/?id=777327&productfeedbackid=117
</READMOREURL>
</FEEDBACK>
</FEEDBACKLIST>
I have been trying to get the SUMMARRY COUNT into a string and then use it to see if it is 0 and if not do something if it is do something else: 我一直在尝试将SUMMARRY COUNT转换为字符串,然后使用它来查看它是否为0,如果不执行其他操作,则不执行以下操作:
please have a look at my code: 请看一下我的代码:
$xml = simplexml_load_string($xml_filename);
$count= array((string) $xml->FEEDBACKLIST->SUMMARY->COUNT);
if ($count == "0"){
$doc = new DOMDocument();
$xsl = new XSLTProcessor();
$doc->load($curdir."/feedback.xsl");
$xsl->importStyleSheet($doc);
$doc->load($xml_filename2);
echo $xsl->transformToXML($doc);
}
else{
$doc = new DOMDocument();
$xsl = new XSLTProcessor();
$doc->load($curdir."/feedback.xsl");
$xsl->importStyleSheet($doc);
$doc->load($xml_filename);
echo $xsl->transformToXML($doc);
}
Can anybody suggest how to do this s this doesn't work 有人可以建议怎么做吗,这是行不通的
If you define $count
as array
, you have to check against this array in your if
-statement: 如果将
$count
定义为array
,则必须在if
-statement中对此数组进行检查:
if ($count[0] == "0") { // see the index: [0]
As an alternative, don't define $count
as array
and leave the if
-statement as it is: 或者,不要将
$count
定义为array
而将if
-statement保留为:
$count = (string)$xml->SUMMARY->COUNT;
Note: your XML's root <FEEDBACKLIST>
is represented in $xml
, so do not repeat it. 注意:XML的根
<FEEDBACKLIST>
用$xml
表示,因此请勿重复。
Here's a working demo: https://eval.in/119164 这是一个工作示例: https : //eval.in/119164
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.