XSD -Schemas, die spezielle/reservierte Zeichen im String -Element -Tag ermöglichen

StackOverflow https://stackoverflow.com/questions/806191

  •  03-07-2019
  •  | 
  •  

Frage

In einem String -Element -Tag wird der XML -Parser erhalten verwirrt Wenn es die folgenden Zeichen findet

'
"
<
>

&

(IE, sagen wir, der Name des Unternehmens wurde aus einem Datenbankfeld abgerufen, und es sieht so aus: "Smith & Sons")

Die Frage ist: Wie können Sie Ihr XSD so gestalten, dass diese Zeichen ignoriert werden, wenn Sie in einem Element gefunden werden?

War es hilfreich?

Lösung

Sie können diese Charaktere nicht ignorieren.

Sie sind ungültig in XML und müssen daher entkommen oder in CDATA -Abschnitte eingewickelt werden. Es gibt keine Möglichkeit für diese Charaktere, in XML zu sehen wenn nicht Sie erstellen die XML mit unsachgemäßen Mitteln (nämlich: String -Verkettung).

Wenn Sie Ihre XML mit ordnungsgemäßen Mitteln (eine XML-Bibliothek einiger Art) erstellen, werden diese Zeichen durch ihre XML-Escaped-Gegenstücke transparent ersetzt und kein Parser wird sich beschweren.

Andere Tipps

Die Antwort ist, dass Sie nicht tun.

Der Schöpfer des XML -Inhalts sollte sie in CDATA -Abschnitten einsetzen.

Wenn Sie "Smith & Sons" aus der Datenbank extrahieren, sollte sie entkommen, wenn Sie in Ihr XML eingefügt werden

zB dem oben genannten werden "Smith & Sons"

Ähnlich für die anderen Zeichen oben.

Wie dies geschieht, hängt davon ab, wie Sie Ihren XML -Inhalt erstellen. Wenn Sie eine API wie DOM verwenden, sollte dies automatisch geschehen. Wenn Sie Ihre XML von Hand zusammenstellen, müssen Sie sich darüber Sorgen machen (und andere Probleme wie Charaktercodierung - was bedeutet, dass die Verwendung einer API hier die bevorzugte Option ist).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top