对于每个<Reader>
节点,我都有以下状态节点:<Status>
,<WebChatStatus>
和<WebCamStatus>
。
这些节点中的每个节点都有三个可用值:Available
,Busy
和Logged Off
。
我正在尝试过滤XML提要,该提要仅返回<WebChatStatus>
为Available
且<Status>
或<WebCamStatus>
不是Busy
的读者
因此,最终,我想向读者展示谁可以使用Webchatstatus,但如果他们的Webcamstatus或Status繁忙,则不可以。
这是我拥有的,但这只是吸引每个读者而不论其状态如何:
$webchatReaders = $xml->xpath('/ReaderDetails/Reader[WebChatStatus = "Available" and Status != "Busy" or WebCamStatus != "Busy"]');
XML文件示例:
<ReaderDetails>
<Reader> // Should not be displayed
<Status>Available</Status>
<WebChatStatus>Logged Off</WebChatStatus>
<WebCamStatus>Logged Off</WebCamStatus>
</Reader>
<Reader> // Should not be displayed
<Status>Busy</Status>
<WebChatStatus>Available</WebChatStatus>
<WebCamStatus>Logged Off</WebCamStatus>
</Reader>
<Reader> // Should be displayed
<Status>Logged Off</Status>
<WebChatStatus>Available</WebChatStatus>
<WebCamStatus>Logged Off</WebCamStatus>
</Reader>
<Reader> // Should not be displayed
<Status>Busy</Status>
<WebChatStatus>Busy</WebChatStatus>
<WebCamStatus>Logged Off</WebCamStatus>
</Reader>
</ReaderDetails>
答案 0 :(得分:1)
尝试在XPath下获取所需的输出:
/ReaderDetails/Reader[WebChatStatus = "Available" and Status != "Busy" and WebCamStatus != "Busy"]