search
HomeBackend DevelopmentXML/RSS TutorialSample code that explains the difference between Node and Element in XML

                                                                                                                                                                                                                                                                                       

. But a node is not necessarily an element, and an element must be a node.
What is node:

NODE is relative to the data structure of TREE. TREE is composed of NODE. You can refer to the tree diagram of discrete mathematics for this part.

What is element

ELEMENT is a concept in
XML, is an element, which is one of the components of data in XML.
The difference between element (Element) and node (Node). Element is a small-scale definition. It must be a node containing complete information to be an element, such as

.... But a node is not necessarily an element, and an element must be a node.

 
<a>
 
  <b> </b>
 
  <b> </b>
 
<a>

DOM regards everything in the document as node node>element

1DOM generates a tree according to the structure of the entire document when parsing the document, and saves all In memory

The advantage is that the entire document is always in memory, we can access any node at any time, and tree traversal is also a relatively familiar operation; the disadvantage is that it consumes memory and must wait until all documents are read. into memory for processing.
2 One thing to note is that the space between the two tags of the XML document is also a node (Text node) of this tree. a has three nodes

Element root = doc.getDocumentElement();: What is root? ? ? ?
NodeList list = root.getChildNodes(); I don’t know whether root is a node or an element? ? ? ? ?

node has several subtypes:


    Element,
      Text,
    Attribute,
  RootElement,
    Comment,
    Namespace等

Element is a node that can have

attributes and child nodes.

Element is inherited

from Node

 //转换 if (node.getNodeType() == Element.ELEMENT_NODE)
{     Element e = (Element) node;  }

Does the element have children?

elemen et properties

1 e.getAttributes()

2 e.getChildNodes()


3 e.getTagName()


Element root = doc.getDocumentElement();: What is root? ? ? ?


NodeList list = root.getChildNodes(); I don’t know whether root is a node or an element? ? ?

·········································· ··········

public void domParse(String fileName) throws Exception {
  DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
  DocumentBuilder db = f.newDocumentBuilder();//builder
  Document docment = db.parse(new File(fileName));//parese
 
  Element el = docment.getDocumentElement();//root
  domRead(el);
  
 }
 
 public void domRead(Element currentNode) {
  if ("struts-config".equals(currentNode.getNodeName())) {
   config = new StrutsConfig();
  }
        
  NodeList list = currentNode.getChildNodes();
  for (int i = 0; i < list.getLength(); i++) {
   Node node = list.item(i);
   if (node.getNodeType() == Element.ELEMENT_NODE) {
    Element e = (Element) node;//????
              
    if ("form-beans".equals(e.getTagName())) {
     formBeans = new ArrayList<FormBeanConfig>();
     domRead(e);
    }
    if ("form-bean".equals(e.getTagName())) {
     FormBeanConfig fc = new FormBeanConfig();
     NamedNodeMap attrs = e.getAttributes();
     
     for (int j = 0; j < attrs.getLength(); j++) {
      Attr attr = (Attr) attrs.item(j);
      if ("name".equals(attr.getName())) {
       fc.setName(attr.getValue());
      } else {
       fc.setType(attr.getValue());
      }
     }
     formBeans.add(fc);
    }
    if ("action-mapping".equals(e.getTagName())) {
     actions = new ArrayList<ActionConfig>();
     domRead(e);
    }
    if ("action".equals(e.getTagName())) {
     ActionConfig ac = new ActionConfig();
     NamedNodeMap attrs = e.getAttributes();
     for (int k = 0; k < attrs.getLength(); k++) {
      Attr attr = (Attr) attrs.item(k);
      if ("path".equals(attr.getName())) {
       ac.setPath(attr.getValue());
      } else if ("type".equals(attr.getName())) {
       ac.setType(attr.getValue());
      } else {
       ac.setName(attr.getValue());
      }
     }
 
     actions.add(ac);
    }
   }
  }
 }

The above is the detailed content of Sample code that explains the difference between Node and Element in XML. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Mastering Well-Formed XML: Best Practices for Data ExchangeMastering Well-Formed XML: Best Practices for Data ExchangeMay 14, 2025 am 12:05 AM

Well-formedXMLiscrucialfordataexchangebecauseitensurescorrectparsingandunderstandingacrosssystems.1)Startwithadeclarationlike.2)Ensureeveryopeningtaghasaclosingtagandelementsareproperlynested.3)Useattributescorrectly,enclosingvaluesinquotesandavoidin

XML: Is it still used?XML: Is it still used?May 13, 2025 pm 03:13 PM

XMLisstillusedduetoitsstructurednature,humanreadability,andwidespreadadoptioninenterpriseenvironments.1)Itfacilitatesdataexchangeinsectorslikefinance(SWIFT)andhealthcare(HL7).2)Itshuman-readableformataidsinmanualdatainspectionandediting.3)XMLisusedin

The Anatomy of an RSS Document: Structure and ElementsThe Anatomy of an RSS Document: Structure and ElementsMay 10, 2025 am 12:23 AM

The structure of an RSS document includes three main elements: 1.: root element, defining the RSS version; 2.: Containing channel information, such as title, link, and description; 3.: Representing specific content entries, including title, link, description, etc.

Understanding RSS Documents: A Comprehensive GuideUnderstanding RSS Documents: A Comprehensive GuideMay 09, 2025 am 12:15 AM

RSS documents are a simple subscription mechanism to publish content updates through XML files. 1. The RSS document structure consists of and elements and contains multiple elements. 2. Use RSS readers to subscribe to the channel and extract information by parsing XML. 3. Advanced usage includes filtering and sorting using the feedparser library. 4. Common errors include XML parsing and encoding issues. XML format and encoding need to be verified during debugging. 5. Performance optimization suggestions include cache RSS documents and asynchronous parsing.

RSS, XML and the Modern Web: A Content Syndication Deep DiveRSS, XML and the Modern Web: A Content Syndication Deep DiveMay 08, 2025 am 12:14 AM

RSS and XML are still important in the modern web. 1.RSS is used to publish and distribute content, and users can subscribe and get updates through the RSS reader. 2. XML is a markup language and supports data storage and exchange, and RSS files are based on XML.

Beyond Basics: Advanced RSS Features Enabled by XMLBeyond Basics: Advanced RSS Features Enabled by XMLMay 07, 2025 am 12:12 AM

RSS enables multimedia content embedding, conditional subscription, and performance and security optimization. 1) Embed multimedia content such as audio and video through tags. 2) Use XML namespace to implement conditional subscriptions, allowing subscribers to filter content based on specific conditions. 3) Optimize the performance and security of RSSFeed through CDATA section and XMLSchema to ensure stability and compliance with standards.

Decoding RSS: An XML Primer for Web DevelopersDecoding RSS: An XML Primer for Web DevelopersMay 06, 2025 am 12:05 AM

RSS is an XML-based format used to publish frequently updated data. As a web developer, understanding RSS can improve content aggregation and automation update capabilities. By learning RSS structure, parsing and generation methods, you will be able to handle RSSfeeds confidently and optimize your web development skills.

JSON vs. XML: Why RSS Chose XMLJSON vs. XML: Why RSS Chose XMLMay 05, 2025 am 12:01 AM

RSS chose XML instead of JSON because: 1) XML's structure and verification capabilities are better than JSON, which is suitable for the needs of RSS complex data structures; 2) XML was supported extensively at that time; 3) Early versions of RSS were based on XML and have become a standard.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool