Sascha Zimmermann: /PHP Regular Expression

Hallo zusammen,
Hallo!

Ich habe eine xml-Datei, die wie folgt aussieht:

<a>
  <b>x=11&y=2&z=3</b>
</a>
<a>
  <b>x=1&y=2&z=3</b>
</a>
<a>
  <b>y=3&x=2z=4</b>
</a>

Das zwischen den <b>s sind URLs (hier nur Beispielhaft)
Jetzt möchte ich zum Beispiel alle <a>-Knoten, deren <b> x=1 enthalten

Ich habe folgendes, das gibt mir jedoch auch x=11 zurück:
$xpath = "//b[contains(string(),'x=1')]/parent::*";

Mit einem direkten Vergleich (also der ganzen Zeile) möchte ich nicht arbeiten, falls sich die URL-Parameterreihenfolge ändert

Ich nutzt PHP (5) mit simplexml

Hat jemand eine Idee?
Danke schön!

Gruß
Sascha

  1. ggf. hilft dirparse_str() weiter.

    1. ggf. hilft dirparse_str() weiter.

      Hallo Suit,

      ich würde es gerne gleich durch XPATH-Filtern, dachte das ginge vielleicht schneller?

      Gruß
      Sascha

  2. @@Sascha Zimmermann:

    nuqneH

    Ich habe eine xml-Datei, die wie folgt aussieht:

    und damit fehlerhaft ist:

    <a>
      <b>x=11&y=2&z=3</b>
    </a>
    <a>
      <b>x=1&y=2&z=3</b>
    </a>
    <a>
      <b>y=3&x=2z=4</b>
    </a>

    '&' MUSS in XML escapet werden: &amp;, &#x26;. [XML10 §2.4]

    Qapla'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
    1. Hallo Gunnar

      recht hast Du! Löst aber mein Problem nicht :(

      Danke

      Gruß
      Sascha

      '&' MUSS in XML escapet werden: &amp;, &#x26;. [XML10 §2.4]

      Qapla'