ホームページ >バックエンド開発 >PHPチュートリアル >PHPの通常のルールを使用してXMLから指定されたコンテンツを抽出するにはどうすればよいですか?助けを求める(史上最も難しい)

PHPの通常のルールを使用してXMLから指定されたコンテンツを抽出するにはどうすればよいですか?助けを求める(史上最も難しい)

WBOY
WBOYオリジナル
2016-06-23 14:27:45826ブラウズ

有XML内容 

<?xml version="1.0" encoding="GBK"?><stream><MSGCODE>AAAAAAA</MSGCODE><MSGCN>交易成功!</MSGCN><B2CCERTNO>500415</B2CCERTNO><ORDERDATE>2013-11-21</ORDERDATE><ORDERTIME>09:52:23</ORDERTIME><ORDERNO>DGM20131121000009</ORDERNO><ORDERAMT>6.26</ORDERAMT><CURRID>01</CURRID><PAYAMT>6.26</PAYAMT><PAYNO>BC131121095428004271</PAYNO><ACCNO>6226********6770</ACCNO><ACCTYPE>01</ACCTYPE><PBCSTNAME>测试</PBCSTNAME><ACCHASH>fSSczJM0fims1Xpmrvi2pnBtrr4=</ACCHASH></stream>



求使用PHP 提取出5526be12c01750ea742da0d4cc9a0fb1AAAAAAAdd8453a99b867d39a1e6eca51aeb73ed 和 308c53aa6e5d1473c1ac80d2251e0f78DGM201311210000091bbbf8b083b7901cfaeff02d11cb0535 中的 “AAAAAA"和 ”DGM20131121000009“ 可以使用正则进行匹配


回复讨论(解决方案)

$string = <<<XML<?xml version="1.0" encoding="utf-8"?><stream><MSGCODE>AAAAAAA</MSGCODE><MSGCN>交易成功!</MSGCN><B2CCERTNO>500415</B2CCERTNO><ORDERDATE>2013-11-21</ORDERDATE><ORDERTIME>09:52:23</ORDERTIME><ORDERNO>DGM20131121000009</ORDERNO><ORDERAMT>6.26</ORDERAMT><CURRID>01</CURRID><PAYAMT>6.26</PAYAMT><PAYNO>BC131121095428004271</PAYNO><ACCNO>6226********6770</ACCNO><ACCTYPE>01</ACCTYPE><PBCSTNAME>测试</PBCSTNAME><ACCHASH>fSSczJM0fims1Xpmrvi2pnBtrr4=</ACCHASH></stream>XML;preg_match_all('#<(MSGCODE|ORDERNO)>(.+)</\1#s',$string,$m);print_r($m);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。