繁体   English   中英

PHP XML。 如何检查标签的值是否为0

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM