我正在尝试让我的PHP代码从XML文档调用多个不同的节点类型,我想知道这是否可行。
php示例:
$categoryNames = 'CLEANINGCHEMICALS' and 'CLEANINGACCESSORIES';
$x = $xmlDoc->getElementsByTagName($categoryNames);
我已经使用它来使用JavaScript虽然我正在努力的PHP,这是我的javascript示例:
var xmlNode = "CLEANINGACCESSORIES" && "CLEANINGCHEMICALS";
records = xmlDoc.getElementsByTagName(xmlNode);
以下是我用不同节点类型表示的XML示例:
<CLEANINGCHEMICALS>
&amp; <CLEANINGACCESSORIES>
&amp; <WASHROOMSUPPLIES>
<CATALOG>
<CLEANINGCHEMICALS>
<IMAGE>/images/Products/Cleaning Chemical/thumbnails/X22318 Wettex Large Roll.jpg</IMAGE>
<BIGIMAGE>/images/Products/Cleaning Chemical/X22318 Wettex Large Roll.jpg</BIGIMAGE>
<TITLE>Wettex Large Roll</TITLE>
<SHORTDESCRIPTION>x22318 - Wettex Large Roll</SHORTDESCRIPTION>
<CATEGORY>cleaning-chemicals</CATEGORY>
</CLEANINGCHEMICALS>
<CLEANINGACCESSORIES>
<IMAGE>/images/Products/Cleaning Accessories/thumbnails/1204321 R2 plus with Divermite bottle.jpg</IMAGE>
<BIGIMAGE>/images/Products/Cleaning Accessories/1204321 R2 plus with Divermite bottle.jpg</BIGIMAGE>
<TITLE>R2 plus with Divermite bottle</TITLE>
<SHORTDESCRIPTION>1204321 - R2 plus with Divermite bottle</SHORTDESCRIPTION>
<CATEGORY>cleaning-accessories</CATEGORY>
</CLEANINGACCESSORIES>
<WASHROOMSUPPLIES>
<IMAGE>/images/Products/Cleaning Accessories/thumbnails/1204323 R3 plus with Divermite bottle.jpg</IMAGE>
<BIGIMAGE>/images/Products/Cleaning Accessories/1204323 R3 plus with Divermite bottle.jpg</BIGIMAGE>
<TITLE>R3 plus with Divermite bottle</TITLE>
<SHORTDESCRIPTION>1204323 - R3 plus with Divermite bottle</SHORTDESCRIPTION>
<CATEGORY>cleaning-accessories</CATEGORY>
</WASHROOMSUPPLIES>
</CATALOG>
答案 0 :(得分:1)
XPath是你的朋友。
$xpath = new DOMXPath($xmlDoc);
$x = $xpath->query('//CLEANINGCHEMICALS | //CLEANINGACCESSORIES');
DOMXpath::query返回DOMNodeList,与getElementsByTagName相同。查询本身返回两个节点集的并集。