ホームページ >バックエンド開発 >PHPチュートリアル >XPath の条件を使用して XML ノードをフィルタリングするにはどうすればよいですか?

XPath の条件を使用して XML ノードをフィルタリングするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-08 22:43:02703ブラウズ

How Can I Filter XML Nodes Using Conditions in XPath?

XPath での条件の実装

XPath 式は、XML ドキュメントから特定の要素またはノードを選択する機能を提供します。このコンテキストでは、一般的な要件は、特定の条件または基準に基づいてこれらの要素をフィルタリングすることです。

この要件の具体的な例の 1 つは、属性に基づいてノードを選択する場合です。日付付きのイベントを含む XML ファイルを考えてみましょう:

<?xml version="1.0" encoding="UTF-8"?>
<xml>
  <events date="12/12/2010">
    <event>
      <title>JqueryEvent</title>
      <description>
        easily
      </description>
    </event>
  </events>
  <events date="14/12/2011">
    <event>
      <title>automatically onBlur</title>
      <description>
        when a date is selected. For an inline calendar, simply attach the datepicker to a div or span.
      </description>
    </event>
  </events>
</xml>

すべてのイベントを取得するには、次の XPath 式を使用できます:

$nodes = $xml->xpath('//xml/events');

ただし、イベントに基づいてイベントを選択する必要がある場合は、

$nodes = $xml->xpath('//xml/events[@date="14/12/2011"]');

この変更された XPath 式では、角括弧 [] 内に日付属性の条件を指定します。この条件は、一致する日付値を持つイベント ノードをフィルターで除外し、「14/12/2011」に発生したイベントのみを選択します。

以上がXPath の条件を使用して XML ノードをフィルタリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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