Vermitteln Sie ein tiefgreifendes Verständnis von XML
1. XML: erweiterbare Markup-Sprachversion="1.0"
Erweiterbar: alle Tags werden angepasst
Funktion: Datenspeicherung
Konfigurationsdatei
Datenübertragung
Der Unterschied zwischen HTML und xml
HTML-Syntax ist locker, XML-Syntax ist streng
HTML wird für die Seitenanzeige verwendet, XML wird für die Datenspeicherung verwendet
Html alle Tags sind vordefiniert, XML alle Tags sind angepasst
2. XML-Syntax:
Dokumentdeklaration
Version Versionsnummer fester Wert 1.0
Kodierung des angegebenen Dokuments Der Standardwert der Codetabelle ist iso-8859-1
eigenständig. Geben Sie an, ob das Dokument unabhängig ist.
muss im XML-Dokument geschrieben werden. Eine Zeile
wird wie folgt geschrieben:
Attribute
Tags im Element-XML-Dokument
Bei Elementnamen muss die Groß-/Kleinschreibung beachtet werden
-
Zahlen dürfen nicht mit beginnen
Es muss und darf nur ein Wurzelelement im Dokument geben
-
Das Element muss korrekt geschlossen werden
body> Elemente müssen korrekt verschachtelt sein
Elementnamen müssen
< entsprechen 🎜>- Text
- Escape-Zeichen>
- Die Daten in CDATA werden unverändert angezeigt
- Attribute
- Attributwerte müssen in Anführungszeichen gesetzt werden.
- Kommentare
- Verarbeitungshinweise: jetzt grundsätzlich nicht nötig
- xml-stylesheet type="text/css" href="1.css "?>
- Einschränkungen sind die Schreibregeln von XML
- Klassifizierung von Einschränkungen:
- XSD-Einschränkungsdokument importieren
- Wurzel-Tag schreiben
- Einführung in den Instanz-Namespace xmlns:xsi="www.w3.org/2001/XMLSchema-instance"
- Einführung des Namespace xsi:schemaLocation="www.itcast.cn/ xml student.xsd"
- Einführung des Standard-Namespace
- student.xsd
- student .xml
<?xml version="1.0"?> <xsd:schema xmlns="www.itheima.cn/xml" xmlns:xsd="www.w3.org/2001/XMLSchema" targetNamespace="www.itheima.cn/xml" elementFormDefault="qualified"> <xsd:element name="students" type="studentsType"/> <xsd:complexType name="studentsType"> <xsd:sequence> <xsd:element name="student" type="studentType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="studentType"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="age" type="ageType" /> <xsd:element name="sex" type="sexType" /> </xsd:sequence> <xsd:attribute name="number" type="numberType" use="required"/> </xsd:complexType> <xsd:simpleType name="sexType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="male"/> <xsd:enumeration value="female"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="ageType"> <xsd:restriction base="xsd:integer"> <xsd:minInclusive value="0"/> <xsd:maxInclusive value="256"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="numberType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="itheima_\d{4}"/> </xsd:restriction> </xsd:simpleType> </xsd:schema> <?xml version="1.0" encoding="UTF-8" ?>
Nach dem Login kopieren<students xmlns="www.itheima.cn/xml" xsi:schemaLocation="www.itheima.cn/xml student.xsd" xmlns:xsi="www.w3.org/2001/XMLSchema-instance" > <student number="itheima_1001"> <name>asfd</name> <age>12</age> <sex>male</sex> </student> </students> <students xmlns:itheima="www.itheima.cn/xml" xsi:schemaLocation="www.itheima.cn/xml student.xsd" xmlns:xsi="www.w3.org/2001/XMLSchema-instance" > <itheima:student number="itheima_1001"> <itheima:name>asfd</itheima:name> <itheima:age>12</itheima:age> <theima:sex>male</itheima:sex> </itheima:student> </itheima:students>
Nach dem Login kopieren- Internes dtd Definieren Sie dtd innerhalb von XML
- Externes dtd Definieren Sie dtd in externer Datei
- Student.dtd
- student.xml
- Lokale DTD-Datei
- Netzwerk-DTD-Datei
<!ELEMENT students (student*) > <!ELEMENT student (name,age,sex)> <!ELEMENT name (#PCDATA)> <!ELEMENT age (#PCDATA)> <!ELEMENT sex (#PCDATA)> <!ATTLIST student number ID #REQUIRED> 唯一的,必须的 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE students SYSTEM "student.dtd"> <students> <student number="s0001" > <name>zs</name> <age>abc</age> <sex>yao</sex> </student> </students>
Nach dem Login kopieren- dtd ist nicht streng eingeschränkt
- Schema
- Um XML zu analysieren, können Sie Folgendes tun:
- wenn XML als Konfigurationsdatei: lesen Sie
- wenn XML als Transferdatei: Schreiben, lesen
- XML-Parsing-Ideen:
- Vorteile: Belegt keinen Speicher, schnell
- Nachteile: Kann nur lesen, nicht zurückschreiben
- Vorteile: Da es sich um einen DOM-Baum handelt Im Speicher gebildet, kann der DOM-Baum hinzugefügt, gelöscht, geändert und überprüft werden
- Nachteile: Der DOM-Baum nimmt viel Speicher ein und die Analysegeschwindigkeit ist langsam
- Dokumentelement-Textattributkommentar
- DOM: Laden Sie das Dokument in den Speicher, um einen DOM-Baum (Dokumentobjekt) zu bilden, der jede Komponente des Dokuments in einige kapselt Objekte
- SAX: Zeile für Zeile lesen, basierend auf Ereignissen Der Treiber
- xml häufig verwendeter Parser
- definiert eine Regel
- Verwendung
- Schritte zur Verwendung
- XPath:
public classTestXPath2 { @Test publicvoidtest()throwsException{ SAXReaderread= new SAXReader(); Documentdocument= read.read("src/Dom4jTest.xml"); Listnodes= document.selectNodes("/bookstore//book/title"); for(inti= 0;i< nodes.size();i++) { Nodenode= (Node)nodes.get(i); System.out.println(node.getText()); } } }
Nach dem Login kopieren- selectSingleNode()
- selectNodes()
- Hinweis: Zum Importieren des Pakets jaxen...jar
创建解析器 SAXReader reader = new SAXReader()
解析xml 获得document对象 Document document = reader.read(url)
// nodename 选取此节点。
// / 从根节点选取。
// // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
// .. 选取当前节点的父节点。
// @ 选取属性。
// [@属性名] 属性过滤
// [标签名] 子元素过滤
@Test
//遍历所有元素节点
publicvoidtest2()throwsException{ //创建一个xml解析对象 SAXReaderreader= new SAXReader(); //把xml文档加载到document对象中 Documentdocument= reader.read("src/Book.xml"); Elementroot= document.getRootElement(); treeWalk(root); } privatevoidtreeWalk(Elementele){ //输出当前节点的名字 System.out.println(ele.getName()); //ele.nodeCount()得到当前节点的所有子节点的数量 for(inti= 0;i<ele.nodeCount();i++){ //取出下标为i的节点 Nodenode= ele.node(i); //判断当前节点是否为标签 if(nodeinstanceofElement){ //把node强转为标签(Element) treeWalk((Element)node); } } } }
Nach dem Login kopierenpublic classTestDom4j { @Test publicvoidtest1()throwsException{ //创建一个xml解析对象 SAXReaderreader= new SAXReader(); //把xml文档加载到document对象中 Documentdocument= reader.read("src/Book.xml"); Elementroot= document.getRootElement(); // Element bookNode = root.element("书"); // System.out.println(bookNode.getName()); //得到当前节点所有的子节点 Listlist= root.elements(); //得到第二本书对象 ElementsecondBook= (Element)list.get(1); //得到当前节点的文本内容 Stringname= secondBook.element("书名").getText(); System.out.println(name); }
Nach dem Login kopieren导入jar包 dom4j.jar
创建解析器
解析xml 获得document对象
SAXReader reader = new SAXReader()
Document document = reader.read(url)
JAXP sun公司提供的解析 支持dom和sax
JDOM
DOM4J dom for java民间方式,但是是事实方式,非常好,支持dom
解析xml
XPATH 专门用于查询
Das obige ist der detaillierte Inhalt vonVermitteln Sie ein tiefgreifendes Verständnis von XML. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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

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

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

Für den Umgang mit XML- und JSON-Datenformaten in der C#-Entwicklung sind spezifische Codebeispiele erforderlich. In der modernen Softwareentwicklung sind XML und JSON zwei weit verbreitete Datenformate. XML (Extensible Markup Language) ist eine Auszeichnungssprache zum Speichern und Übertragen von Daten, während JSON (JavaScript Object Notation) ein leichtes Datenaustauschformat ist. Bei der C#-Entwicklung müssen wir häufig XML- und JSON-Daten verarbeiten und verarbeiten. Dieser Artikel konzentriert sich auf die Verwendung von C# zum Verarbeiten und Anhängen dieser beiden Datenformate

JSP-Dateiöffnungsmethode JSP (JavaServerPages) ist eine dynamische Webseitentechnologie, die es Programmierern ermöglicht, Java-Code in HTML-Seiten einzubetten. JSP-Dateien sind Textdateien, die HTML-Code, XML-Tags und Java-Code enthalten. Wenn eine JSP-Datei angefordert wird, wird sie in ein JavaServlet kompiliert und dann vom Webserver ausgeführt. Methoden zum Öffnen von JSP-Dateien Es gibt verschiedene Möglichkeiten, JSP-Dateien zu öffnen. Am einfachsten geht es mit einem Texteditor,

Verwendung von Python zur Implementierung der Datenüberprüfung in XML Einführung: Im wirklichen Leben haben wir es oft mit einer Vielzahl von Daten zu tun, wobei XML (Extensible Markup Language) ein häufig verwendetes Datenformat ist. XML weist eine gute Lesbarkeit und Skalierbarkeit auf und wird häufig in verschiedenen Bereichen wie Datenaustausch, Konfigurationsdateien usw. verwendet. Bei der Verarbeitung von XML-Daten müssen wir die Daten häufig überprüfen, um die Integrität und Richtigkeit der Daten sicherzustellen. In diesem Artikel wird erläutert, wie Sie mit Python die Datenüberprüfung in XML implementieren und die entsprechenden Informationen bereitstellen
