Heim Backend-Entwicklung XML/RSS-Tutorial Vermitteln Sie ein tiefgreifendes Verständnis von XML

Vermitteln Sie ein tiefgreifendes Verständnis von XML

Apr 26, 2017 am 10:12 AM

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

    • 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

3. XML-Einschränkungen

  • 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

4. XML-Analyse

  • 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 kopieren
    • public 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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Kann ich eine XML-Datei mit PowerPoint öffnen? Kann ich eine XML-Datei mit PowerPoint öffnen? Feb 19, 2024 pm 09:06 PM

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 Konvertieren Sie XML-Daten in Python in das CSV-Format Aug 11, 2023 pm 07:41 PM

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 Python implementiert die Konvertierung zwischen XML und JSON Aug 07, 2023 pm 07:10 PM

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 Behandeln von Fehlern und Ausnahmen in XML mit Python Aug 08, 2023 pm 12:25 PM

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 Python analysiert Sonderzeichen und Escape-Sequenzen in XML Aug 08, 2023 pm 12:46 PM

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

Umgang mit XML- und JSON-Datenformaten in der C#-Entwicklung Umgang mit XML- und JSON-Datenformaten in der C#-Entwicklung Oct 09, 2023 pm 06:15 PM

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

Auf einen Blick: Ein schneller Überblick über das Öffnen von JSP-Dateien Auf einen Blick: Ein schneller Überblick über das Öffnen von JSP-Dateien Jan 31, 2024 pm 09:28 PM

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 Verwendung von Python zur Implementierung der Datenüberprüfung in XML Aug 10, 2023 pm 01:37 PM

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

See all articles