Kurzes XML-Tutorial (7)
Inhaltsverzeichnis
Entwicklungsgeschichte
XMLVergleich mit HTML Extensible
XML und HTML-Vergleichssyntaxdetails
XML-Validierungs-DTD
XMLNamespace
XMLSyntaxstruktur
Schema für XML-Validierung
DOM4JKonfigurationsdatei lesen und schreiben
Über SLT
Schema für XML-Validierung
Wie im vorherigen Artikel erwähnt Ja, durch Mit der DTD können wir leicht beurteilen, ob das zu überprüfende XML den von uns definierten Spezifikationen entspricht (die Beziehung zwischen Elementen, ob die Werte der Attribute korrekt sind). Wenn wir jedoch den Inhalt von Elementen überprüfen möchten, ist die DTD machtlos. Also studieren die Leute eine neue Verifizierungsmethode – Schema.
Zusätzlich zu den oben genannten Vorteilen ist Schema noch beeindruckender als DTD Das Spannende ist, dass es sich um ein wohlgeformtes XML-Dokument handelt, sodass das Schreiben eines Schemas sehr einfach ist. Im Vergleich zu , das über eine eigene unabhängige Syntax verfügt, ist DTD sehr schwierig zu schreiben und zu warten.
Eine Schemadatei ist eine XML-Datei, daher entspricht das geschriebene XML dem SchemaDer Prozess besteht darin, XML gegen XML zu schreiben. In diesem Fall ist es sehr einfach, Schema zu schreiben. Im Folgenden wird gezeigt, wie das entsprechende Schema gemäß XML geschrieben wird
Original-XML-Datei (test2.xml)
Für das obigeXML unten beginnen wir mit der Erstellung eines
Schemas<?xml version="1.0"encoding="ISO-8859-1"?> <shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="shiporder.xsd"> <orderperson>George Bush</orderperson> <shipto> <name>John Adams</name> <address>Oxford Street</address> <city>London</city> <country>UK</country> </shipto> <item> <title>Empire Burlesque</title> <note>Special Edition</note> <quantity>1</quantity> <price>10.90</price> </item> <item> <title>Hide your heart</title> <quantity>1</quantity> <price>9.90</price> </item> </shiporder>
. Das zu befolgende Prinzip besteht darin, das ursprüngliche
XML
zu schreiben und dann das entsprechende
zu beschreiben, so als ob Sie einem gegenüber stünden Person. Die Beschreibung ist dieselbe. Der Schemacode lautet wie folgt (shiporder.xsd)
Codeanalyse:
Die erste Zeile ist alles XML
Die Aussage bedarf keiner weiteren Erläuterung.<?xml version="1.0"encoding="ISO-8859-1" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="shiporder"> <xs:complexType> <xs:sequence> <xs:element name="orderperson"type="xs:string"/> <xs:element name="shipto"> <xs:complexType> <xs:sequence> <xs:elementname="name" type="xs:string"/> <xs:elementname="address" type="xs:string"/> <xs:elementname="city" type="xs:string"/> <xs:elementname="country" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="item"maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:elementname="title" type="xs:string"/> <xs:elementname="note" type="xs:string" minOccurs="0"/> <xs:elementname="quantity" type="xs:positiveInteger"/> <xs:element name="price"type="xs:decimal"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="orderid"type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:schema>
XML (
Schemaselbst ist ein XML) definiert einen Namensraum.
Ab der vierten Zeile sind einige Anforderungen für das ursprüngliche XML: 首先定义了根元素为shiporder(行4),其次因为shiporder元素有一个属性,其中包含其他的元素所以其为复合类型(行5)。然后通过sequence元素按照顺序包围其子元素(行10---行15),描述元素的名称以及元素的类型(行11----行14),如果需要描述元素的限制条件(行22)。描述根元素的属性,由于是必选属性所以选择required关键字,需要注意的是这个属性必须放在最后(行29) 通过Schema验证XML的代码和前面文章中的DTD验证大同小异,代码如下:
如果原XML文件符合Schema文件中的描述则返回true;否则抛出异常进行描述哪里不符合,并且返回false。(具体的操作可在实际工程中自行定制,这里只是进行简单的描述)
以上就是XML简明教程(7) 的内容,更多相关内容请关注PHP中文网(www.php.cn)!package ValidateXml;
import java.io.File;
import java.io.IOException;
import javax.xml.XMLConstants;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
importcom.sun.org.apache.xml.internal.utils.DefaultErrorHandler;
public class XmlValidator
{
private String xsdFilePath;
public XmlValidator(String xsdFilePath)
{
this.xsdFilePath =xsdFilePath;
}
public String validata(String xmlFilePath,ErrorHandler errorHandler)
{
String msg = null;
SchemaFactoryfactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
try
{
Schema schema = factory.newSchema(new File(xsdFilePath));
Validator validator = schema.newValidator();
validator.setErrorHandler(errorHandler);
validator.validate(new StreamSource(new File(xmlFilePath)));
}
catch (SAXExceptione)
{
msg = e.getMessage();
e.printStackTrace();
}
catch (IOExceptione)
{
msg = e.getMessage();
e.printStackTrace();
}
return msg;
}
public static void main(String[] args)
{
String xmlFilePath ="d://test2.xml";
String xsdFilePath ="d://shiporder.xsd";
XmlValidator my =new XmlValidator(xsdFilePath);
String msg =my.validata(xmlFilePath, new DefaultErrorHandler());
System.out.println(msg == null);
}
}

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Können XML-Dateien mit PPT geöffnet werden? XML, Extensible Markup Language (Extensible Markup Language), ist eine universelle Auszeichnungssprache, die häufig im Datenaustausch und in der Datenspeicherung verwendet wird. Im Vergleich zu HTML ist XML flexibler und kann eigene Tags und Datenstrukturen definieren, wodurch die Speicherung und der Austausch von Daten komfortabler und einheitlicher werden. PPT oder PowerPoint ist eine von Microsoft entwickelte Software zum Erstellen von Präsentationen. Es bietet eine umfassende Möglichkeit

Verwenden von Python zum Zusammenführen und Deduplizieren von XML-Daten XML (eXtensibleMarkupLanguage) ist eine Auszeichnungssprache, die zum Speichern und Übertragen von Daten verwendet wird. Bei der Verarbeitung von XML-Daten müssen wir manchmal mehrere XML-Dateien zu einer zusammenführen oder doppelte Daten entfernen. In diesem Artikel wird erläutert, wie Sie mit Python die Zusammenführung und Deduplizierung von XML-Daten implementieren und entsprechende Codebeispiele angeben. 1. XML-Daten zusammenführen Wenn wir mehrere XML-Dateien haben, müssen wir sie zusammenführen

Konvertieren Sie XML-Daten in Python in das CSV-Format. XML (ExtensibleMarkupLanguage) ist eine erweiterbare Auszeichnungssprache, die häufig zur Datenspeicherung und -übertragung verwendet wird. CSV (CommaSeparatedValues) ist ein durch Kommas getrenntes Textdateiformat, das häufig für den Datenimport und -export verwendet wird. Bei der Datenverarbeitung ist es manchmal erforderlich, XML-Daten zur einfachen Analyse und Verarbeitung in das CSV-Format zu konvertieren. Python ist mächtig

Implementieren des Filterns und Sortierens von XML-Daten mit Python Einführung: XML ist ein häufig verwendetes Datenaustauschformat, das Daten in Form von Tags und Attributen speichert. Bei der Verarbeitung von XML-Daten müssen wir die Daten häufig filtern und sortieren. Python bietet viele nützliche Tools und Bibliotheken zum Verarbeiten von XML-Daten. In diesem Artikel wird erläutert, wie Sie mit Python XML-Daten filtern und sortieren. Lesen der XML-Datei Bevor wir beginnen, müssen wir die XML-Datei lesen. Python verfügt über viele XML-Verarbeitungsbibliotheken.

Importieren von XML-Daten in die Datenbank mit PHP Einführung: Während der Entwicklung müssen wir häufig externe Daten zur weiteren Verarbeitung und Analyse in die Datenbank importieren. Als häufig verwendetes Datenaustauschformat wird XML häufig zum Speichern und Übertragen strukturierter Daten verwendet. In diesem Artikel wird erläutert, wie Sie mit PHP XML-Daten in eine Datenbank importieren. Schritt 1: XML-Datei analysieren Zuerst müssen wir die XML-Datei analysieren und die erforderlichen Daten extrahieren. PHP bietet mehrere Möglichkeiten zum Parsen von XML. Die am häufigsten verwendete davon ist die Verwendung von Simple

Python implementiert die Konvertierung zwischen XML und JSON. Einführung: Im täglichen Entwicklungsprozess müssen wir häufig Daten zwischen verschiedenen Formaten konvertieren. XML und JSON sind gängige Datenaustauschformate. In Python können wir verschiedene Bibliotheken zum Konvertieren zwischen XML und JSON verwenden. In diesem Artikel werden mehrere häufig verwendete Methoden mit Codebeispielen vorgestellt. 1. Um XML in Python in JSON zu konvertieren, können wir das Modul xml.etree.ElementTree verwenden

Behandeln von Fehlern und Ausnahmen in XML mit Python XML ist ein häufig verwendetes Datenformat zum Speichern und Darstellen strukturierter Daten. Wenn wir Python zum Verarbeiten von XML verwenden, können manchmal Fehler und Ausnahmen auftreten. In diesem Artikel werde ich die Verwendung von Python zur Behandlung von Fehlern und Ausnahmen in XML vorstellen und einige Beispielcodes als Referenz bereitstellen. Verwenden Sie Try-Exception-Anweisungen, um XML-Parsing-Fehler abzufangen. Wenn wir Python zum Parsen von XML verwenden, können manchmal Fehler auftreten

Python analysiert Sonderzeichen und Escape-Sequenzen in XML. XML (eXtensibleMarkupLanguage) ist ein häufig verwendetes Datenaustauschformat, das zum Übertragen und Speichern von Daten zwischen verschiedenen Systemen verwendet wird. Bei der Verarbeitung von XML-Dateien kommt es häufig vor, dass Sonderzeichen und Escape-Sequenzen enthalten sind, die zu Analysefehlern oder einer Fehlinterpretation der Daten führen können. Daher müssen wir beim Parsen von XML-Dateien mit Python verstehen, wie mit diesen Sonderzeichen und Escape-Sequenzen umgegangen wird. 1. Sonderzeichen und
