4
私は現在使用しているコードです。私は助けを必要とする場合はこれが私のすべてのbrowsnode名およびすべてのbroswnode IDを与え$bn_name_search
と$bn_id_search
xpathクエリからノードを除外
$xpath_base='/ItemSearchResponse/Items/Item[';
for ($i = 1; $i<=10; $i++)
{
$curr_item_base=$xpath_base.$i.']';
$bn_name_search=$curr_item_base.'/BrowseNodes//BrowseNode/Name/text()';
$bn_id_search=$curr_item_base.'/BrowseNodes//BrowseNode/BrowseNodeId/text()';
$bn_names=$parsed->xpath($bn_name_search);
$bn_ids=$parsed->xpath($bn_id_search);
}
です。私が今したいのは、すべての製品ではない "BrowseNode/Name/
"のブラウズノード名だけで、 "BrowseNode/BrowseNodeId/
"は "BrowseNode/
"という名前で、 "すべての製品"ではないことが分かります存在がBrowseNode/Name
であることをテストする必要があります。 IDがある場合は空白になりません。もし私が2つの否定的な表現を加えることができれば、それはさらに良いでしょう。ここで はXMLのブロックです:それは「<Name>Departments</Name>
」と言い、私はその名前を除外したいのですが、私は、名前「すべての製品」であるそれらと名前が「部門」
EDITであるそれらを省略しますそれはIDです。もし私が "<Name>All Products</Name>
"と言っているsimilareを持っていれば、その名前とそのIDを除外したいと思います。あなたのXMLが構成されている方法を見ずに
<BrowseNodes>
<BrowseNode>
<BrowseNodeId>2346727011</BrowseNodeId>
<Name>Casual</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>1045024</BrowseNodeId>
<Name>Dresses</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>1040660</BrowseNodeId>
<Name>Women</Name>
<Ancestors>
<BrowseNode>
<BrowseNodeId>1036682</BrowseNodeId>
<Name>Departments</Name>
<IsCategoryRoot>1</IsCategoryRoot>
<Ancestors>
<BrowseNode>
<BrowseNodeId>1036592</BrowseNodeId>
<Name>Clothing & Accessories</Name>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</Ancestors>
</BrowseNode>
</BrowseNodes>
感謝を。私がA.M.に就職すると、そのうちの1つまたは2つを試してみます。 – TecBrat
今後の参考として、迅速な回答が必要な場合はできるだけ多くの情報を投稿し、可能であれば入力/出力することをお勧めします。 – JWiley
以下の回答は何件か出てきました。テストコードにエラーがあり、何も動作していませんでした。最後に、(私の目で)最も簡単な答えは私のために働いたものです。答えをくれた皆さん、ありがとうございました! – TecBrat