Heim Datenbank MySQL-Tutorial XML解析以及增删改查的操作 2

XML解析以及增删改查的操作 2

Jun 07, 2016 pm 03:00 PM
xml 接口 操作 节点 解析

我写了一个节点操作的接口INodeAction,直接贴代码: getPreviousSibling方法就是获取上一个相邻的节点,getNextSibling是获取下一个相邻的节点。 getBeifen方法主要是为了文档式化用。是根节点则返回0. printSpace方法就是根据节点辈分,在写文档的时候式化

     我写了一个节点操作的接口INodeAction,直接贴代码:


  XML解析以及增删改查的操作 2

    getPreviousSibling方法就是获取上一个相邻的节点,getNextSibling是获取下一个相邻的节点。

    getBeifen方法主要是为了文档格式化用。是根节点则返回0.

    printSpace方法就是根据节点辈分,在写文档的时候格式化

   再写了节点的基类Node:

import java.io.Serializable;
import java.util.List;
/**
 * xml文档节点基类,可以是普通节点,注释节点,文本节点
 * */
public abstract class Node implements Serializable,INodeAction{

    /**
     * 序列化版本号
     */
    private static final long serialVersionUID = 3858789701720999153L;
    /**
     * 父节点.规定 根节点的父节点为空
     * */
    protected Element father;
    /**
     * 由文档对象直接添加的节点 domFather赋值为document对象
     * */
    protected Document domFather;
    @Override
    public Integer getBeifen(){
        Integer n;
        if(father==null){
            n = 0;
            return n;
        }
        Node node = this;
        n = 0;
        while(node.father!=null){
            n++;
            node = node.father;
            if(node.father==null){
                return n;
            }
        }
        if(!(node.father==null)){
            return null;
        }
        return n;
    }
    
    public Element getFather() {
        return father;
    }
    @Override
    public String printSpace() {
        StringBuffer sb = new StringBuffer();
        Integer n = getBeifen();
        if (n == null) {
            return sb.toString();
        }
        for (int i = 0; i  nodeList = domFather.getNodeList();
                int idx = nodeList.indexOf(this);
                return idx==0?null:nodeList.get(idx-1);
            }
        }
        List<node> nodeList = father.getNodeList();
        int idx = nodeList.indexOf(this);
        return idx==0?null:nodeList.get(idx-1);
    }
    
    @Override
    public Node getNextSibling() {
        if(father==null){
            if(domFather==null){
                DocumentUtil.throwException("节点还没添加到文档!");
            }else{
                List<node> nodeList = domFather.getNodeList();
                int idx = nodeList.indexOf(this);
                return idx==nodeList.size()-1?null:nodeList.get(idx+1);
            }
        }
        List<node> nodeList = father.getNodeList();
        int idx = nodeList.indexOf(this);
        return idx==nodeList.size()-1?null:nodeList.get(idx+1);
    }
}</node></node></node>
Nach dem Login kopieren


关键在于编程的思想。有想法就什么都能实现。下面就是写节点的具体实现类了。另起一篇。







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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Huawei Mate60 Pro Screenshot-Bedienschritte teilen Huawei Mate60 Pro Screenshot-Bedienschritte teilen Mar 23, 2024 am 11:15 AM

Mit der Beliebtheit von Smartphones ist die Screenshot-Funktion zu einer der wesentlichen Fähigkeiten für die tägliche Nutzung von Mobiltelefonen geworden. Als eines der Flaggschiff-Handys von Huawei hat die Screenshot-Funktion des Huawei Mate60Pro natürlich große Aufmerksamkeit bei den Nutzern auf sich gezogen. Heute werden wir die Screenshot-Bedienungsschritte des Huawei Mate60Pro-Mobiltelefons teilen, damit jeder bequemer Screenshots machen kann. Erstens bietet das Huawei Mate60Pro-Mobiltelefon eine Vielzahl von Screenshot-Methoden, und Sie können die Methode auswählen, die Ihren persönlichen Gewohnheiten entspricht. Im Folgenden finden Sie eine detaillierte Einführung in mehrere häufig verwendete Abfangfunktionen:

Analyse der Bedeutung und Verwendung von Midpoint in PHP Analyse der Bedeutung und Verwendung von Midpoint in PHP Mar 27, 2024 pm 08:57 PM

[Analyse der Bedeutung und Verwendung von Mittelpunkt in PHP] In PHP ist Mittelpunkt (.) ein häufig verwendeter Operator, der zum Verbinden zweier Zeichenfolgen oder Eigenschaften oder Methoden von Objekten verwendet wird. In diesem Artikel befassen wir uns eingehend mit der Bedeutung und Verwendung von Mittelpunkten in PHP und veranschaulichen sie anhand konkreter Codebeispiele. 1. String-Mittelpunkt-Operator verbinden Die häufigste Verwendung in PHP ist das Verbinden zweier Strings. Indem Sie . zwischen zwei Saiten platzieren, können Sie diese zu einer neuen Saite zusammenfügen. $string1=&qu

Analyse der neuen Funktionen von Win11: So überspringen Sie die Anmeldung bei einem Microsoft-Konto Analyse der neuen Funktionen von Win11: So überspringen Sie die Anmeldung bei einem Microsoft-Konto Mar 27, 2024 pm 05:24 PM

Analyse der neuen Funktionen von Win11: So überspringen Sie die Anmeldung bei einem Microsoft-Konto. Mit der Veröffentlichung von Windows 11 haben viele Benutzer festgestellt, dass es mehr Komfort und neue Funktionen bietet. Einige Benutzer möchten jedoch möglicherweise nicht, dass ihr System an ein Microsoft-Konto gebunden ist, und möchten diesen Schritt überspringen. In diesem Artikel werden einige Methoden vorgestellt, mit denen Benutzer die Anmeldung bei einem Microsoft-Konto in Windows 11 überspringen können, um ein privateres und autonomeres Erlebnis zu erreichen. Lassen Sie uns zunächst verstehen, warum einige Benutzer zögern, sich bei ihrem Microsoft-Konto anzumelden. Einerseits befürchten einige Benutzer, dass sie

Einführung in PHP-Schnittstellen und deren Definition Einführung in PHP-Schnittstellen und deren Definition Mar 23, 2024 am 09:00 AM

Einführung in die PHP-Schnittstelle und wie sie definiert ist. PHP ist eine in der Webentwicklung weit verbreitete Open-Source-Skriptsprache. Sie ist flexibel, einfach und leistungsstark. In PHP ist eine Schnittstelle ein Werkzeug, das gemeinsame Methoden zwischen mehreren Klassen definiert, um Polymorphismus zu erreichen und Code flexibler und wiederverwendbar zu machen. In diesem Artikel werden das Konzept von PHP-Schnittstellen und deren Definition vorgestellt und spezifische Codebeispiele zur Veranschaulichung ihrer Verwendung bereitgestellt. 1. PHP-Schnittstellenkonzept Die Schnittstelle spielt eine wichtige Rolle in der objektorientierten Programmierung und definiert die Klassenanwendung

PHP-String-Manipulation: eine praktische Möglichkeit, Leerzeichen effektiv zu entfernen PHP-String-Manipulation: eine praktische Möglichkeit, Leerzeichen effektiv zu entfernen Mar 24, 2024 am 11:45 AM

PHP-String-Operation: Eine praktische Methode zum effektiven Entfernen von Leerzeichen Bei der PHP-Entwicklung kommt es häufig vor, dass Sie Leerzeichen aus einem String entfernen müssen. Das Entfernen von Leerzeichen kann die Zeichenfolge sauberer machen und die nachfolgende Datenverarbeitung und -anzeige erleichtern. In diesem Artikel werden mehrere effektive und praktische Methoden zum Entfernen von Leerzeichen vorgestellt und spezifische Codebeispiele angehängt. Methode 1: Verwenden Sie die in PHP integrierte Funktion trim(). Die in PHP integrierte Funktion trim() kann Leerzeichen an beiden Enden der Zeichenfolge entfernen (einschließlich Leerzeichen, Tabulatoren, Zeilenumbrüche usw.), was sehr praktisch und einfach ist benutzen.

So binden Sie WeChat an Ele.me So binden Sie WeChat an Ele.me Apr 01, 2024 pm 03:46 PM

Ele.me ist eine Software, die eine Vielzahl verschiedener Köstlichkeiten zusammenführt. Der Händler kann diese sofort nach Erhalt der Bestellung über die Software binden Betriebsmethode Denken Sie daran, die chinesische PHP-Website zu besuchen. Anweisungen zum Binden von WeChat an Ele.me: 1. Öffnen Sie zuerst die Ele.me-Software und klicken Sie nach dem Aufrufen der Startseite auf [Mein] in der unteren rechten Ecke. 2. Klicken Sie dann auf die Seite „Mein“. [Konto] in der oberen linken Ecke; 3. Gehen Sie dann zur Seite mit den persönlichen Informationen, auf der wir Mobiltelefone, WeChat, Alipay und Taobao verknüpfen können. 4. Nach dem letzten Klick wählen wir das WeChat-Konto aus Das muss auf der WeChat-Autorisierungsseite gebunden werden und auf „Einfach zulassen“ klicken.

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Astar-Absteckprinzip, Einkommensabbau, Airdrop-Projekte und -Strategien sowie Strategie auf Nanny-Ebene Astar-Absteckprinzip, Einkommensabbau, Airdrop-Projekte und -Strategien sowie Strategie auf Nanny-Ebene Jun 25, 2024 pm 07:09 PM

Inhaltsverzeichnis Astar Dapp Staking-Prinzip Staking-Einnahmen Abbau potenzieller Airdrop-Projekte: AlgemNeurolancheHealthreeAstar Degens DAOVeryLongSwap Staking-Strategie und -Betrieb „AstarDapp Staking“ wurde zu Beginn dieses Jahres auf die V3-Version aktualisiert, und es wurden viele Anpassungen an den Staking-Einnahmen vorgenommen Regeln. Derzeit ist der erste Absteckzyklus beendet und der Unterzyklus „Abstimmung“ des zweiten Absteckzyklus hat gerade erst begonnen. Um die „zusätzlichen Prämien“-Vorteile zu erhalten, müssen Sie diese kritische Phase (voraussichtlich bis zum 26. Juni dauernd, mit weniger als 5 verbleibenden Tagen) bewältigen. Ich werde die Astar-Einnahmen im Detail aufschlüsseln,

See all articles