seppli: PHP & XML

Hello ich generie mit PHP ein XML file.....

Nun gibt es einen Tag: <text>hallo <br> <b>zeile2</b></text>

Aber das XML bricht mir ab und das <![CDATA[ darf ich leider nicht verwenden sonst funktioniert das andere Tool nicht.. kann man da was machen?

gruss
seppli

  1. Hi,

    Nun gibt es einen Tag: <text>hallo <br> <b>zeile2</b></text>

    Aber das XML bricht mir ab

    Aha - und wie sieht das aus, wenn so ein XML "abbricht"?

    und das <![CDATA[ darf ich leider nicht verwenden sonst funktioniert das andere Tool nicht.. kann man da was machen?

    Man koennte die XML-eigenen Sonderzeichen in der dafuer vorgesehenen Entity-Notation schreiben, wenn sie keine Sonderzeichenbedeutung haben sollen.

    MfG ChrisB

    1. hey

      Aha - und wie sieht das aus, wenn so ein XML "abbricht"?

      Die XML-Seite kann nicht angezeigt werden
      usw..

      Man koennte die XML-eigenen Sonderzeichen in der dafuer vorgesehenen Entity-Notation schreiben, wenn sie keine Sonderzeichenbedeutung haben sollen.

      "<!ENTITY auml "&amp;auml;">" .

      hier hab ich das für die Umlaute.. aber wie mach ich das für die HTML Tags????

      1. Hi,

        "<!ENTITY auml "&amp;auml;">" .

        hier hab ich das für die Umlaute..

        Wieso verwendest du keine Zeichenkodierung, die Umlaute bereits umfasst?

        Man koennte die XML-eigenen Sonderzeichen in der dafuer vorgesehenen Entity-Notation schreiben, wenn sie keine Sonderzeichenbedeutung haben sollen.

        aber wie mach ich das für die HTML Tags????

        http://de.selfhtml.org/xml/regeln/zeichen.htm#xmleigene

        MfG ChrisB

        1. http://de.selfhtml.org/xml/regeln/zeichen.htm#xmleigene

          geht noch immer nicht:

          "<!ENTITY a "&lt;">" .
            "<!ENTITY b "&gt;">" .

          was ist falsch?

  2. Hallo,

    Nun gibt es einen Tag: <text>hallo <br> <b>zeile2</b></text>

    Bevor du hier weiter wild im Nebel stocherst: Was hast du eigentlich vor? Kannst du das nochmal bitte klar formulieren?

    Willst du ein Element text mit dem Inhalt »hallo <br> <b>zeile2</b>«, wobei dieser Inhalt selbst nicht als XML-Code gewertet werden soll?

    Dann maskierst du die Zeichen so, wie in SELFHTML beschrieben: http://de.selfhtml.org/xml/regeln/zeichen.htm#xmleigene. Der Link wurde ja schon genannt, schau dir den mal bitte an.

    Heraus kommt z.B.
    <text>hallo &lt;br&gt; &lt;b&gt;zeile2&lt;/b&gt;</text>

    Wo ist jetzt das Problem, wieso willst du irgendwelche Entities definieren?!
    Diese Entities (lt, gt, amp usw.) sind in XML fest eingebaut, du musst sie nicht definieren.

    Mathias

    1. Hallo,

      Nun gibt es einen Tag: <text>hallo <br> <b>zeile2</b></text>

      Bevor du hier weiter wild im Nebel stocherst: Was hast du eigentlich vor? Kannst du das nochmal bitte klar formulieren?

      Willst du ein Element text mit dem Inhalt »hallo <br> <b>zeile2</b>«, wobei dieser Inhalt selbst nicht als XML-Code gewertet werden soll?

      Dann maskierst du die Zeichen so, wie in SELFHTML beschrieben: http://de.selfhtml.org/xml/regeln/zeichen.htm#xmleigene. Der Link wurde ja schon genannt, schau dir den mal bitte an.

      Heraus kommt z.B.
      <text>hallo &lt;br&gt; &lt;b&gt;zeile2&lt;/b&gt;</text>

      Wo ist jetzt das Problem, wieso willst du irgendwelche Entities definieren?!
      Diese Entities (lt, gt, amp usw.) sind in XML fest eingebaut, du musst sie nicht definieren.

      Mathias

      Hallo Mathias...

      Ich lese dies aus der DB raus..! wie kann ich wo was definieren ich habe keine ahnung vom XML

      1. Hallo,

        Ich lese dies aus der DB raus..! wie kann ich wo was definieren ich habe keine ahnung vom XML

        Mit der PHP-Funktion htmlspecialchars() kannst du die Ersetzungen vornehmen, bevor du sie ins text-Element der XML-Datei schreibst. Vielleicht hilft dir das weiter.

        Mathias

        --
        Fragen Sie doch mal jemanden, der sich mit sowas auskennt. Gelbe Seiten.
  3. Hi,

    Hello ich generie mit PHP ein XML file.....

    Nun gibt es einen Tag: <text>hallo <br> <b>zeile2</b></text>

    Hier fehlt schlicht und einfach das Ende-Tag. Ersetze <br> durch <br />.
    Wenn Du die Daten in validem XHTML gespeichert hättest, würde sowas nicht passieren.

    freundliche Grüße
    Ingo