[英]PHP XML. How to check if value of a tag is 0
我收到以下xml文件:
<FEEDBACKLIST>
<SUMMARY>
<MODE>service</MODE>
<VENDORLOGON/>
<VENDORREF/>
<TOTALSERVICECOUNT>0</TOTALSERVICECOUNT>
<TOTALPRODUCTCOUNT>0</TOTALPRODUCTCOUNT>
<COUNT>0</COUNT>
<TITLE/>
<BEST>100</BEST>
<WORST>0</WORST>
<AVERAGE>??</AVERAGE>
<START>1</START>
<LIMIT>20</LIMIT>
</SUMMARY>
</FEEDBACKLIST>
我可以检查COUNT是否为0,是否要重新发送带有不同参数的xml请求。
我以这种方式收到它:
$curdir = getcwd();
$logon = array_key_exists('logon', $_GET) ? $_GET['logon'] : null;
$limit = array_key_exists('limit', $_GET) ? $_GET['limit'] : null;
$mode = array_key_exists('mode', $_GET) ? $_GET['mode'] : null;
$vendorref = array_key_exists('vendorref', $_GET) ? $_GET['vendorref'] : null;
$suppressnegatives = array_key_exists('suppressnegatives', $_GET) ? $_GET['suppressnegatives'] : null;
$xml_filename = "http://www.x.com/filename/xmlfeed.jsp?logon=".$logon;
if ($limit)
$xml_filename .= "&limit=".$limit;
if ($vendorref)
$xml_filename.="&vendorref=".$vendorref;
if ($mode)
$xml_filename.="&mode=".$mode;
if ($suppressnegatives)
$xml_filename.="&negativesanswered=true";
if (phpversion() < "5"){
$xmldoc = domxml_open_file( $xml_filename);
$xsldoc = domxml_xslt_stylesheet_file ( $curdir."/feedback.xsl");
$result = $xsldoc->process($xmldoc);
echo $result->dump_mem();
}
else
$doc = new DOMDocument();
$xsl = new XSLTProcessor();
$doc->load($curdir."/feedback.xsl");
$xsl->importStyleSheet($doc);
$doc->load($xml_filename);
echo $xsl->transformToXML($doc);
我想我需要先检查一下,然后再用getElementsbyTagName将$ xsl回显出来,但不确定如何使用它。
任何帮助欢迎
如果需要保留PHP 4支持,请遍历DOM。 如果您可以删除它并仅支持PHP 5,请使用DOMXpath :: evaluate()。
$xml = '<FEEDBACKLIST><SUMMARY><COUNT>0</COUNT></SUMMARY></FEEDBACKLIST>';
$dom = new DOMDOcument();
$dom->loadXml($xml);
$xpath = new DOMXpath($dom);
var_dump($xpath->evaluate('string(/FEEDBACKLIST/SUMMARY/COUNT)'));
输出:
string(1) "0"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.