Wie sagt man dem XML-Parser, dass er führende und nachfolgende Leerzeichen berücksichtigt?Können Sie führende und nachfolgende Leerzeichen in XML beibehalten?
Dim xml: Set xml = CreateObject("MSXML2.DOMDocument")
xml.async = False
xml.loadxml "<xml>1 2</xml>"
wscript.echo len(xml.documentelement.text)
Above druckt 3.
Dim xml: Set xml = CreateObject("MSXML2.DOMDocument")
xml.async = False
xml.loadxml "<xml> 2</xml>"
wscript.echo len(xml.documentelement.text)
Above druckt 1. (Ich möchte es 2 drucken).
Gibt es etwas Spezielles, das ich in das XML-Dokument selbst schreiben kann, um dem Parser zu sagen, dass er Leerzeichen im Dokument führen soll?
CLARIFICATION 1: Gibt es ein Attribut, das am Anfang des Dokuments EINMAL spezifiziert werden kann, um es auf alle Elemente anzuwenden?
KLARIFIZIERUNG 2: Da der Inhalt der Entitäten Unicode-Daten haben kann, aber die XML-Datei einfach ascii sein muss, sind alle Entitäten codiert - was bedeutet, dass CDATA leider nicht verfügbar sind.
CDATA ist sicherlich vorhanden. Sie müssen möglicherweise nur mehr als einen pro Elementwert verwenden. –
@michaelpryor: Über alle Antworten, die "xml: space" empfehlen. Dieses Problem hat nichts mit xml: space zu tun, das steuert, wie ein Parser whitespace-only-Knoten behandelt. Die gezeigten Knoten sind definitiv nicht nur Leerzeichen. Sehen Sie meine Lösung, die die einzige ist, die das Problem wirklich behandelt. Prost, –
Das Problem hat * nichts * mit CDATA zu tun. CDATA ist nur zur Parsingzeit vorhanden, im Infoset ist es nicht mehr vorhanden und Whitespaces * sind * Teil des Infosets. – bortzmeyer