2009-05-15 10 views

Antwort

1

Siehe 2.2 Characters in "Extensible Markup Language (XML) 1.0 (Third Edition)".

Beachten Sie, dass, zumindest mit .NET, wenn Sie die XML-APIs verwenden, um mit XML zu arbeiten, dann müssen Sie sich nicht darum kümmern. Es ist der Grund, XML nicht als Text zu behandeln.

+0

Ich stimme dem Speicherort des Dokuments zu, aber ich denke nicht, dass dieser spezielle Abschnitt der richtige Ort ist. In diesem Abschnitt werden die zulässigen Zeichen aufgeführt, die im "Text-Stream" zulässig sind. Über .NET und Bibliotheken konnte ich nicht mehr zustimmen - aber in diesem speziellen Fall muss ich eine vorhandene Textdatei bearbeiten, die XML enthält. –

+0

Warum also nicht die XML-APIs verwenden, um diese Textdatei zu verarbeiten? –

+0

Besser ist es, die aktuelle Version der Dokumente zu verwenden: https://www.w3.org/TR/xml/ – albert

5

Gemäß den (2) current recommendation, speziell character data and Markup in Bezug auf, sie sind (1) der Ampersand (&), linke spitze Klammer (<), spitze Klammer (>) und sowohl Single-Quote (') und Doppel (").

+1

Ich stimme dem Abschnitt des Spezifikationsdokuments zu. Allerdings müssen nicht alle diese Attribute "maskiert" werden. Kannst du das bearbeiten um es zu klären? –

+1

-1 Es gibt keine Anforderung, '' '' noch das '' '' '' '' (das nicht zum Abgrenzen des Attributs verwendet wird). – Phrogz

48

Hier ist die Definition von what is allowed in an attribute value.

'"' ([^<&"] | Reference)* '"' | "'" ([^<&'] | Reference)* "'" 

So können Sie nicht haben:

  • das gleiche Zeichen, das den Attributwert öffnet/schließt (entweder' oder ")
  • ein nackter Ampersand (&&amp; sein muss)
  • ein linker Winkel (< muss &lt; sein)

Sie sollten auch keine characters verwenden, die nirgendwo in einem XML-Dokument legal sind (z. B. Formular-Feeds usw.).