개발일기장

JDOM (java xml parser) (2) namespace 본문

JAVA

JDOM (java xml parser) (2) namespace

게슬 2023. 1. 30. 22:50
728x90

(1) read 에서 namespace가 뭔지 몰랐는데 xml에서 같은 tag를 URI를 이용해서 구분해주는?? 그런느낌의 용도라고 한다

http://www.tcpschool.com/xml/xml_basic_namespace

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

일단 XML 예시를 조금 수정해보자

<?xml version="1.0" encoding="UTF-8"?>
<body 요일="월" val="출근하기싫다"
      xmlns:a="www.naver.com"
      xmlns:b="www.kakao.com">
    <schme schema="type" type="lang"/>
    <para lang="Java"/>
    <para lang="NodeJS"/>
    <para lang="C++"/>
    <a:ext>
        <a:value>111111</a:value>
        <a:type>real</a:type>
    </a:ext>
    <b:ext>
        <value>999999</value>
        <type>test</type>
    </b:ext>
</body>

xmln:[bind]="value" 형식으로 상위 Tag에 정의를 해주면 되는 방식

이제 getChildren(tag-name, namespace)를 사용

            List aChild = root.getChildren("ext", Namespace.getNamespace("www.naver.com"));
            List bChild = root.getChildren("ext", Namespace.getNamespace("www.kakao.com"));

            for(Object child : aChild){
                Element e = (Element) child;
                searchTag(e);
            }
            for(Object child : bChild){
                Element e = (Element) child;
                searchTag(e);
            }

result

위에서 naver를 a로 정의했고, kakao를 b로 정의했자늠

그거대로 잘 읽히는데... getValue하면 왜 하위 value까지 다 읽어오는지 이해할 수가 없네 원래 xml이 이런놈인지는 잘 모르겠음.

근대 일반적으로 namespace잘 쓰는지는 모르겠다. 뭐 사용하면 하는거고 ㅎㅎ ㅈㅅ ㅋㅋ


사실 오늘 별로 쓸것도 없고 jdom write기능까지 쓰기는 늦은거같고 걍 ..귀찮았음..

728x90
Comments