Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in den Fall des Testens mehrerer XML-Probleme

Detaillierte Einführung in den Fall des Testens mehrerer XML-Probleme

黄舟
黄舟Original
2017-03-22 16:30:421920Durchsuche

Bei der Verwendung von SQL Server ist es in den meisten Fällen unvermeidlich, mit XML-Parametern umzugehen, was unseren Programmen Komfort bietet, aber es gibt auch Zeiten, in denen die Variablenzuweisung fehlschlägt. (Wenn Ihr eigenes XML die Prüfung durch Software wie XML Spy nicht bestehen kann, ist dies natürlich nicht der Umfang dieses Aspekts ~)

Die heute geteilten Beispiele sind sehr einfach, testen Sie einfach ein paar Beispiele

DECLARE @x XML  
 
 
SELECT @x =
&#39;<a>1</a>&#39;
 
SELECT @x =
&#39;<?xml version="1.0" encoding="utf-8"?>
<a>1</a>
&#39;
 
SELECT @x =
N&#39;<?xml version="1.0" encoding="utf-8"?>
<a>1</a>
&#39;
 
SELECT @x =
&#39;<?xml version="1.0" encoding="utf-8"?>
<a>一个人</a>
&#39;
 
SELECT @x =
&#39;<?xml version="1.0" encoding="GBK"?>
<a>单身狗汪</a>

Beispiel 1:

Dies ist das Beispiel, das wir normalerweise am häufigsten sehen, und es kann ohne Druck kompiliert werden. Die Variablenzuweisung wurde bestanden und dann die Abfrage, das Parsen, was auch immer Sie wollten Das habe ich immer gedacht SQL Server Die Zuweisung im Inneren unterstützt keine Header wie

, daher sage ich dem Codierer normalerweise, dass er bei Auftreten eines solchen Fehlers einfach den Header entfernen soll (es ist zwar in Ordnung, aber das Grund ist falsch) (⊙﹏⊙)b). Tatsächlich wird der XML-Typ selbst unterstützt, es handelt sich jedoch nur um Anwendungsszenarien, wenn wir gespeicherte Prozeduren aufrufen oder Parameter in Anweisungen zuweisen. SQL Server sagte, dass ich diese Verantwortung nicht trage

Beispiel 3:
<?xml version="1.0" encoding="utf-8"?>

Es gibt ein Problem beim Kompilieren dieses Beispiels und der Compiler wirft

Meldung 9402, Stufe 16, Status 1, Zeile 8

XML-Analyse: Zeile 1, Zeichen 38, Kodierung kann nicht umgeschaltet werden

Der Unterschied zwischen Beispiel 3 und Beispiel 2 besteht jedoch darin, dass die Zuweisung in Beispiel 3 Unicode-Kodierung verwendet, während Beispiel 2 tut es nicht, also bin ich in Beispiel 3 sofort auf die Knie gefallen ╮(╯_╰)╭. Daher sind die Fehler bei der Übertragung von Datenbankparametern, die wir normalerweise finden, darauf zurückzuführen, dass diese Methode verwendet wird, sodass ich getäuscht wurde_(:з」∠)_. Es ist also nicht so, dass es nicht unterstützt wird, sondern nur, dass es ein Problem mit unserer Aufrufmethode gibt


Beispiel 4:

Nachricht 9420, Ebene 16, Status 1, Zeile 9

XML-Analyse: Zeile 2, Zeichen 5. Unzulässige XML-Zeichen

Hey~ Ein weiterer Fehler wird gemeldet~ Diesmal handelt es sich um ein illegales XML-Zeichen. Es scheint, dass die Codierung utf-8 ist, was Chinesisch nicht unterstützt. Wenn Sie also manchmal nicht auf diese Details achten, ist es wirklich.../(ㄒoㄒ)/~~


Beispiel 5:

Die Kompilierung verlief dieses Mal reibungslos. Die darin enthaltene Codierung wurde auf GBK-Codierung geändert. Es kann Chinesisch unterstützen. Die Zusammenstellung ist natürlich überhaupt kein Problem.

Das Hinzufügen eines weiteren Beispiels

ist ebenfalls in Ordnung. Einige traditionelle chinesische Zeichen werden auch in der GBK-Schriftartenbibliothek unterstützt, und im Allgemeinen besteht kein Grund zur Sorge. Sofern es keine speziellen Symbole gibt, ist das schwer zu sagen, haha

Schließlich sind „encoding="utf-8"“ und „encoding="UTF-8" gleichwertig, und hier wird die Groß-/Kleinschreibung nicht beachtet. Achtung ist da...
SELECT @x =
&#39;<?xml version="1.0" encoding="GBK"?>
<a>繁体字 龍 _(:з」∠)_</a>

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in den Fall des Testens mehrerer XML-Probleme. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn