2012-04-20 15 views
4

私は現在使用しているコードです。私は助けを必要とする場合はこれが私のすべてのbrowsnode名およびすべてのbroswnode IDを与え$bn_name_search$bn_id_searchxpathクエリからノードを除外

$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のブロックです:それは「&lt;Name&gt;Departments&lt;/Name&gt;」と言い、私はその名前を除外したいのですが、私は、名前「すべての製品」であるそれらと名前が「部門」

EDITであるそれらを省略しますそれはIDです。もし私が "&lt;Name&gt;All Products&lt;/Name&gt;"と言っている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 &amp; Accessories</Name> 
        </BrowseNode> 
       </Ancestors> 
       </BrowseNode> 
      </Ancestors> 
      </BrowseNode> 
     </Ancestors> 
     </BrowseNode> 
    </Ancestors> 
    </BrowseNode> 
</BrowseNodes> 
+0

感謝を。私がA.M.に就職すると、そのうちの1つまたは2つを試してみます。 – TecBrat

+0

今後の参考として、迅速な回答が必要な場合はできるだけ多くの情報を投稿し、可能であれば入力/出力することをお勧めします。 – JWiley

+0

以下の回答は何件か出てきました。テストコードにエラーがあり、何も動作していませんでした。最後に、(私の目で)最も簡単な答えは私のために働いたものです。答えをくれた皆さん、ありがとうございました! – TecBrat

答えて

関連する問題