찾다
백엔드 개발XML/RSS 튜토리얼Map 도구 클래스에 XML 문자의 샘플 코드 공유

XML문자 변환도구 클래스 샘플 코드 공유

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class XmlUtils {

    public static Map<String, Object> Str2Map(String str){
        try {
//            long beginTime = System.currentTimeMillis();
            Document doc = DocumentHelper.parseText(str);
//            System.out.println(doc.asXML());
            Map<String, Object> map = XmlUtils.Dom2Map(doc);
//            System.out.println(map.toString());
//            System.out.println("Use time:"+(System.currentTimeMillis()-beginTime));
            return map;
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        return null;
    }
    
    public static Map<String, Object> Dom2Map(Document doc){ 
        Map<String, Object> map = new HashMap<String, Object>(); 
        if(doc == null) 
            return map; 
        Element root = doc.getRootElement(); 
        for (Iterator iterator = root.elementIterator(); iterator.hasNext();) { 
            Element e = (Element) iterator.next(); 
            List list = e.elements(); 
            if(list.size() > 0){ 
                map.put(e.getName(), Dom2Map(e)); 
            }else 
                map.put(e.getName(), e.getText()); 
        } 
        return map; 
    } 
    
    @SuppressWarnings("unchecked")
    public static Map Dom2Map(Element e){ 
        Map map = new HashMap(); 
        List list = e.elements(); 
        if(list.size() > 0){ 
            for (int i = 0;i < list.size(); i++) { 
                Element iter = (Element) list.get(i); 
                List mapList = new ArrayList(); 

                if(iter.elements().size() > 0){ 
                    Map m = Dom2Map(iter); 
                    if(map.get(iter.getName()) != null){ 
                        Object obj = map.get(iter.getName()); 
                        if(!obj.getClass().getName().equals("java.util.ArrayList")){ 
                            mapList = new ArrayList(); 
                            mapList.add(obj); 
                            mapList.add(m); 
                        } 
                        if(obj.getClass().getName().equals("java.util.ArrayList")){ 
                            mapList = (List) obj; 
                            mapList.add(m); 
                        } 
                        map.put(iter.getName(), mapList); 
                    }else 
                        map.put(iter.getName(), m); 
                } 
                else{ 
                    if(map.get(iter.getName()) != null){ 
                        Object obj = map.get(iter.getName()); 
                        if(!obj.getClass().getName().equals("java.util.ArrayList")){ 
                            mapList = new ArrayList(); 
                            mapList.add(obj); 
                            mapList.add(iter.getText()); 
                        } 
                        if(obj.getClass().getName().equals("java.util.ArrayList")){ 
                            mapList = (List) obj; 
                            mapList.add(iter.getText()); 
                        } 
                        map.put(iter.getName(), mapList); 
                    }else 
                        map.put(iter.getName(), iter.getText()); 
                } 
            } 
        }else 
            map.put(e.getName(), e.getText()); 
        return map; 
    }

위 내용은 Map 도구 클래스에 XML 문자의 샘플 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
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를 사용하면 컨텐츠 관리 효율성과 사용자 경험이 향상 될 수 있습니다.

RSS 문서 도구 : 피드 구축, 검증 및 게시RSS 문서 도구 : 피드 구축, 검증 및 게시Apr 09, 2025 am 12:10 AM

RSSFeeds를 구축, 검증 및 게시하는 방법은 무엇입니까? 1. 빌드 : Python 스크립트를 사용하여 제목, 링크, 설명 및 출시 날짜를 포함하여 RSSFEED를 생성합니다. 2. 확인 : FeedValidator.org 또는 Python 스크립트를 사용하여 RSSFEED가 RSS2.0 표준을 준수하는지 확인하십시오. 3. 게시 : RSS 파일을 서버에 업로드하거나 Flask를 사용하여 RSSFEED를 동적으로 생성 및 게시합니다. 이 단계를 통해 컨텐츠를 효과적으로 관리하고 공유 할 수 있습니다.

XML/RSS 피드 확보 : 포괄적 인 보안 체크리스트XML/RSS 피드 확보 : 포괄적 인 보안 체크리스트Apr 08, 2025 am 12:06 AM

XML/RSSFEEDS의 보안을 보장하는 방법에는 다음이 포함됩니다. 1. 데이터 검증, 2. 암호화 된 전송, 3. 액세스 제어, 4. 로그 및 모니터링. 이러한 측정은 네트워크 보안 프로토콜, 데이터 암호화 알고리즘 및 액세스 제어 메커니즘을 통해 데이터의 무결성과 기밀성을 보호합니다.

XML/RSS 인터뷰 질문 및 답변 : 전문 지식을 레벨 업하십시오XML/RSS 인터뷰 질문 및 답변 : 전문 지식을 레벨 업하십시오Apr 07, 2025 am 12:19 AM

XML은 데이터를 저장하고 전송하는 데 사용되는 마크 업 언어이며 RSS는 자주 업데이트되는 컨텐츠를 게시하는 데 사용되는 XML 기반 형식입니다. 1) XML은 태그 및 속성을 통해 데이터 구조를 설명합니다. 2) RSS는 특정 태그 게시 및 구독 컨텐츠를 정의하고 3) XML을 생성하고 Python의 xml.etree.elementtree Module, 4) XPPARSERPERS, 5) FEEDPARSER LIBRATION을 포함 할 수 있습니다. SAX 파서로 대형 XML 파일을 처리하면 성능을 최적화 할 수 있습니다.

고급 XML/RSS 자습서 : ACE 다음 기술 인터뷰고급 XML/RSS 자습서 : ACE 다음 기술 인터뷰Apr 06, 2025 am 12:12 AM

XML은 데이터 저장 및 교환을위한 마크 업 언어이며 RSS는 업데이트 된 컨텐츠를 게시하기위한 XML 기반 형식입니다. 1. XML은 데이터 교환 및 스토리지에 적합한 데이터 구조를 정의합니다. 2.RSS는 콘텐츠 구독에 사용되며 구문 분석시 특수 라이브러리를 사용합니다. 3. XML을 구문 분석 할 때 DOM 또는 색소폰을 사용할 수 있습니다. XML 및 RSS를 생성 할 때는 요소 및 속성을 올바르게 설정해야합니다.

XML/RSS에서 JSON까지 : 현대 데이터 변환 전략XML/RSS에서 JSON까지 : 현대 데이터 변환 전략Apr 05, 2025 am 12:08 AM

Python을 사용하여 XML/RSS에서 JSON으로 변환하십시오. 1) 소스 데이터, 2) 추출 필드, 3) JSON으로 변환, 4) 출력 JSON. XML.etree.elementtree 및 FeedParser 라이브러리를 사용하여 XML/RSS를 구문 분석하고 JSON 라이브러리를 사용하여 JSON 데이터를 생성하십시오.

XML/RSS 및 REST API : 현대 웹 개발을위한 모범 사례XML/RSS 및 REST API : 현대 웹 개발을위한 모범 사례Apr 04, 2025 am 12:08 AM

XML/RSS 및 RESTAPI는 현대 네트워크 개발에서 함께 작동합니다. 이 두 가지를 사용하면 효율적인 컨텐츠 관리 및 동적 업데이트를 얻을 수 있습니다.

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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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