찾다
백엔드 개발XML/RSS 튜토리얼XML이란 무엇입니까? XML 설명 예시

디렉토리 구조:


콘텐츠 구조 [-]
  1. XML이란 무엇입니까

  2. XML 구문 분석

    1. XML을 구문 분석하는 두 가지 방법

    2. dom4j를 사용하여 xml 구문 분석

      1. dom4j API의 일부

      2. XML 파일의 전체 내용 인쇄

    3. XPath를 사용하여 dom4j에서 XML 구문 분석

      1. API의 관련 부분

      2. XPath 경로 표현식

      3. Wildcard

      4. Predicate

  3. Java를 사용하여 DTD

    1. 참고 기사

  4. 1 XML이란 무엇입니까

    XML(eXtensible Markup Language)은 확장 가능한 마크업 언어, 사용자 정의할 수 있는 언어입니다.
  5. 2 XML 구문 분석

    2.1 두 가지 구문 분석 방법
XML 구문 분석은 SAX와 DOM이라는 두 가지 방법으로 나누어집니다.

DOM: (Document Object Model)은 W3C 조직에서 권장하는 XML 처리 방법입니다. 이 방법을 사용하여 XML 문서를 구문 분석하면 문서의 모든 요소 간의 계층적 관계에 따라 메모리에 트리 구조가 구성됩니다. 따라서 메모리에 많은 부담을 주고 구문 분석 및 읽기 속도가 느리다는 장점이 있습니다. 노드의 내용을 탐색하고 수정할 수 있다는 것입니다.

SAX: (XML용 단순 API)는 XML 구문 분석의 대안입니다. DOM에 비해 구문 분석 속도가 빠르고 메모리 부담이 적다는 단점이 있습니다. 노드의 내용을 수정할 수 없다는 것입니다.

2.2 dom4j를 사용하여 XML 구문 분석

dom4j를 사용하여 XML을 구문 분석하기 전에 작성자의

dom4j-1.6.1.jar

패키지

2.2.1 dom4j의 API

//创建SAXReader,是dom4j包提供的解析器SAXReader reader=new SAXReader();//读取指定的文件Document doc=reader.read(new File(filename));

Document
  Document getRootElement()           用于获取根元素

Element
  Element element(String name)        获取元素下指定名称的子元素
  List<element> elements()            获取元素下所有的子元素
  String getName()                    获取元素名
  String getText()                    获取元素文本内容
  String elementText(String name)     获取子元素文本内容
  Attribute attribute(String)         获取元素的属性
  String attributeValue(String name)  获取元素的属性值

Attribute
  String getName()                    获取属性的名字
  String getValue()                   获取属性的值</element>
와 같은 관련 도구 패키지를 가져와야 합니다.

2.2 .2 프로젝트

<?xml  version="1.0" encoding="utf-8" ?><books>
  <book><name>三国演绎</name><author>罗贯中</author><price>58.8</price>
  </book>
  <book><name>水浒传</name><author>施耐庵</author><price>49.8</price>
  </book>
  <book><name>西游记</name><author>吴承恩</author><price>100.1</price><order>1</order>
  </book></books>

pricties 바로 아래에 있는 XML 파일
pricties.xml 파일의 전체 내용을 인쇄합니다. .3 dom4j XPath의 애플리케이션은 XML을 구문 분석합니다

먼저 소개해야 할 사항은 다음과 같습니다. 독자의 dom4j 기반 해당 jar 패키지:

jaxen-1.1-beta-6.jar

2.3.1 XPath API
import java.io.File;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class ParseXML {public static void main(String[] args) {//创建SAXReader对象SAXReader saxr=new SAXReader();
        Document  docu=null;try{//读取指定的文件,相对于项目路径docu=saxr.read(new File("pricties.xml"));//获得元素的文件的根节点Element e=docu.getRootElement();
            
            searchAllElement(e);
        }catch(Exception e){
            e.printStackTrace();
        }
    }    public static void searchAllElement(Element e){//获得当前元素下的所有子元素,并存储到集合中List<element> elements=e.elements();
        
        System.out.print(" atrs=e.attributes();//打印该标记下的所有属性for(Attribute att:atrs){
            System.out.print(" "+att.getName()+"=\""+att.getValue()+"\"");
        }
        System.out.println(">");        //如果集合的大小为0,表示该集合下没有子元素了if(elements.size()==0){
            System.out.println(e.getText());//打印文本信息System.out.println(""+e.getName()+">");//打印结束标记return;//退出当前层方法        }        //递归每一个子元素for(Element ele:elements){
            searchAllElement(ele);
        }
        System.out.println(""+e.getName()+">");//打印结束标记    }

}</element>

2.3.2 XPath的路径表达式

2.3.2.1 XPath的路径表达式规则

2.3.2.2 XPath的路径表达式应用案例

2.3.3 通配符

2.3.3.1 通配符规则

2.3.3.2 通配符应用案例

2.3.4 谓语

2.3.4.1 谓语规则

谓语是用来查找某个特定的节点或是包含某个指定的值的节点
谓语被嵌在方括号中

2.3.4.2 谓语应用案例

3 java写XML文件

3.1 将一个带有书籍信息的List集合解析为XML文件

package com.xdl.xml;public class Book {private String name;private String author;private String price;public Book() {super();
    }public Book(String name, String author, String price) {super();
        setName(name);
        setAuthor(author);
        setPrice(price);
    }/** * @return the name     */public String getName() {return name;
    }/** * @param name the name to set     */public void setName(String name) {this.name = name;
    }/** * @return the author     */public String getAuthor() {return author;
    }/** * @param author the author to set     */public void setAuthor(String author) {this.author = author;
    }/** * @return the price     */public String getPrice() {return price;
    }/** * @param price the price to set     */public void setPrice(String price) {this.price = price;
    }
}
Book.java
package com.xdl.xml;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.XMLWriter;public class WriteXML {public static void main(String[] args) {//创建一个Book集合用于存储书籍信息List<book> list_books=new ArrayList<book>();//插入书籍信息for(int i=0;i</book></book>
WriteXML.java

 4 Schema和DTD的区别

  Schema是对XML文档结构的定义和描述,其主要的作用是用来约束XML文件,并验证XML文件有效性。DTD的作用是定义XML的合法构建模块,它使用一系列的合法元素来定义文档结构。它们之间的区别有下面几点:

1、Schema本身也是XML文档,DTD定义跟XML没有什么关系,Schema在理解和实际应用有很多的好处。

2、DTD文档的结构是“平铺型”的,如果定义复杂的XML文档,很难把握各元素之间的嵌套关系;Schema文档结构性强,各元素之间的嵌套关系非常直观。

3、DTD只能指定元素含有文本,不能定义元素文本的具体类型,如字符型、整型、日期型、自定义类型等。Schema在这方面比DTD强大。

4、Schema支持元素节点顺序的描述,DTD没有提供无序情况的描述,要定义无序必需穷举排列的所有情况。Schema可以利用xs:all来表示无序的情况。

5、对命名空间的支持。DTD无法利用XML的命名空间,Schema很好满足命名空间。并且,Schema还提供了include和import两种引用命名空间的方法。

5 参考文章

Schema和DTD的区别

위 내용은 XML이란 무엇입니까? XML 설명 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
RSS 디코딩 : 컨텐츠 피드의 XML 구조RSS 디코딩 : 컨텐츠 피드의 XML 구조Apr 17, 2025 am 12:09 AM

RSS의 XML 구조에는 다음이 포함됩니다. 1. XML 선언 및 RSS 버전, 2. 채널 (채널), 3. 항목. 이러한 부분은 RSS 파일의 기초를 형성하여 사용자가 XML 데이터를 구문 분석하여 컨텐츠 정보를 얻고 처리 할 수 ​​있도록합니다.

XML 기반 RSS 피드를 구문 분석하고 활용하는 방법XML 기반 RSS 피드를 구문 분석하고 활용하는 방법Apr 16, 2025 am 12:05 AM

rssfeedsUsexMlTOSYNDICATECONTENT; parsingTheMinVolvesRoadingXML, NavigatingItsStructure 및 extractingData.ApplicationSaggregatorsAngAggeratsAndTrackingPodCastePisOdes.

RSS 문서 : 좋아하는 콘텐츠를 제공하는 방법RSS 문서 : 좋아하는 콘텐츠를 제공하는 방법Apr 15, 2025 am 12:01 AM

RSS 문서는 XML 파일을 통해 컨텐츠 업데이트를 게시하여 작동하며 사용자는 RSS 리더를 통해 구독하고 알림을받습니다. 1. Content Publisher는 RSS 문서를 생성하고 업데이트합니다. 2. RSS 리더는 XML 파일에 정기적으로 액세스하고 구문 분석합니다. 3. 사용자는 업데이트 된 콘텐츠를 탐색하고 읽습니다. 사용의 예 : TechCrunch의 RSS 피드를 구독하고 RSS 리더에게 링크를 복사하기 만하면됩니다.

XML이있는 건물 : RSS에 대한 실습 가이드XML이있는 건물 : RSS에 대한 실습 가이드Apr 14, 2025 am 12:17 AM

XML을 사용하여 RSSFEED를 구축하는 단계는 다음과 같습니다. 1. 루트 요소를 만들고 버전을 설정하십시오. 2. 채널 요소와 기본 정보를 추가하십시오. 3. 제목, 링크 및 설명을 포함하여 항목 요소를 추가하십시오. 4. XML 구조를 문자열로 변환하고 출력하십시오. 이 단계를 사용하면 출시 날짜 및 저자 정보와 같은 추가 요소를 추가하여 유효한 RSSFeed를 처음부터 시작하고 기능을 향상시킬 수 있습니다.

RSS 문서 작성 : 단계별 자습서RSS 문서 작성 : 단계별 자습서Apr 13, 2025 am 12:10 AM

RSS 문서를 작성하는 단계는 다음과 같습니다. 1. 요소를 포함하여 루트 요소와 함께 XML 형식으로 쓰십시오. 2. 채널 정보를 설명하기위한 요소를 추가합니다. 3. 요소를 추가, 각각 컨텐츠 항목을 나타내는 요소를 추가하십시오 .,,,,,,,,,,,,,,,,, 4. 컨텐츠를 풍부하게하기 위해 선택적으로 추가 및 요소. 5. XML 형식이 올바른지 확인하고 온라인 도구를 사용하여 성능을 확인하고 최적화하며 콘텐츠를 업데이트하십시오.

RSS에서 XML의 역할 : 신디케이트 컨텐츠의 기초RSS에서 XML의 역할 : 신디케이트 컨텐츠의 기초Apr 12, 2025 am 12:17 AM

RSS에서 XML의 핵심 역할은 표준화되고 유연한 데이터 형식을 제공하는 것입니다. 1. XML의 구조 및 마크 업 언어 특성은 데이터 교환 및 스토리지에 적합합니다. 2. RSS는 XML을 사용하여 컨텐츠 공유를 용이하게하기 위해 표준화 된 형식을 만듭니다. 3. RSS에서 XML의 적용에는 제목 및 출시 날짜와 같은 피드 컨텐츠를 정의하는 요소가 포함됩니다. 4. 표준화 및 확장 성이 포함되며, 문제에는 문서 장황 및 엄격한 구문 요구 사항이 포함됩니다. 모범 사례에는 XML 유효성 검증, 간단한 유지, CDATA 사용 및 정기적으로 업데이트가 포함됩니다.

XML에서 읽기 쉬운 컨텐츠까지 : Demystifying RSS 피드XML에서 읽기 쉬운 컨텐츠까지 : Demystifying RSS 피드Apr 11, 2025 am 12:03 AM

RSSFEEDSAREXMLDOCUMentsORMUSSEDFORCONTENGAGNEGANGANDANDAND 및 DISTIBLITION.TOTRANSFORMTHEMINTOREADBECONCONTENT : 1) PARSETHEXMLUSINGLIBRARIES LIKEFEDPARSERINPYTHON.2) HORDLEDIFFERENTSSSSSSONS 및 POTELINGEPARSINGERRORS.3) 변형 된 정보 형식 FrrONTLIKETLIKET

JSON을 기반으로 RSS 대안이 있습니까?JSON을 기반으로 RSS 대안이 있습니까?Apr 10, 2025 am 09:31 AM

JSONFEED는 JSON 기반 RSS 대안으로 단순성과 사용 편의성을 갖는 장점이 있습니다. 1) JSONFEED는 JSON 형식을 사용하여 생성 및 구문 분석이 쉽습니다. 2) 동적 생성을 지원하며 현대 웹 개발에 적합합니다. 3) JSONFEED를 사용하면 컨텐츠 관리 효율성과 사용자 경험이 향상 될 수 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)