마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

xml문서 파싱하여 listview로 출력 질문드립니다 도와주세요

0 추천

<?xml  version="1.0" encoding="UTF-8"?>
<Tool>
<Group name="GroupA ">
    
    <Function name="Function1" disable="true">
        <Description>Description1</Description>
        <Masking>0x01</Masking>
        <Preset>
            <Value name="Enable">0x01</Value>
            <Value name="Disable">0x00</Value>
        </Preset>
    </Function>
    <Function name="Function2">
        <Description>test.</Description>
        <Masking>0x03</Masking>
        <Preset>
            <Value name="Enable">0x01</Value>
            <Value name="Disable">0x00</Value>
        </Preset>
    </Function>

    <Field name="Field_name">
        <Description></Description>
        <Option name="Function1"><Addresses>1000</Addresses></Option>
        <Option name="Function2"><Addresses>2000</Addresses></Option>
    </Field>
</Group>
 

<Group name="PHONE">
    <Function name="Android">
        <Description>ANDROID android android </Description>
        <Masking>0x0F</Masking>
        <Preset>
            <Value name="FIRST">0x05</Value>
            <Value name="SECOND">0x06</Value>
 
        </Preset>
    </Function>


    <Function name="IPHONE">
        <Description>IOS IOS IOS IOS</Description>
        <Masking>0x7F,0x3F,0x3F</Masking>
        <Preset>
            <Value name="ZERO">0x7A,0x3A,0x3A</Value>

        </Preset>
    </Function>

    <Function name="GOOGLE" disable="true">
        <Description></Description>
        <Masking>0x01</Masking>
        <Preset>
            <Value name="Enable">0x01</Value>
            <Value name="Disable">0x00</Value>
        </Preset>
    </Function>

    <Field name="WHAT  ">
        <Description></Description>
        <Option name="Android"><Addresses>2294</Addresses></Option>
        <Option name="IPHONE"><Addresses>2083,2084,2086</Addresses></Option>
        <Option name="GOOGLE"><Addresses>2531</Addresses></Option>
    </Field>
</Group>

<Group name="FRUIT">

    <Function name="BANANA">

        <Description>Double-click 

</Description>

        <Masking>0xFF</Masking>

    </Function>

    <Function name="ORANGE" disable="true">

        <Description>Pull

        <Masking>0xFF</Masking>

    </Function>

 

    <Function name="MANGO">

        <Description>offset</Description>

        <Masking>0x80,0x7F</Masking> 

        <Preset>  

            <Value name="-10">0x00,0x0A</Value>

            <Value name="-9">0x00,0x09</Value>

            <Value name="-8">0x00,0x08</Value>

            <Value name="-7">0x00,0x07</Value>

            <Value name="-6">0x00,0x06</Value>

        </Preset>

    </Function>

    

    <Field name="OK1">

        <Description>TX.</Description>

        <Option name="BANANA"><Addresses>1523</Addresses></Option>

        <Option name="ORANGE"><Addresses>1527</Addresses></Option>

        <Option name="MANGO"><Addresses>2741,2741</Addresses></Option>

    </Field>

 

    <Field name="OK2">

        <Description>AA.</Description>

        <Option name="BANANA"><Addresses>1666</Addresses></Option>

        <Option name="ORANGE"><Addresses>1670</Addresses></Option>

        <Option name="MANGO"><Addresses>2742,2742</Addresses></Option>

    </Field>

 

    <Field name="OK3">

        <Description>BB</Description>

        <Option name="BANANA"><Addresses>1809</Addresses></Option>

        <Option name="ORANGE"><Addresses>1813</Addresses></Option>

        <Option name="MANGO"><Addresses>2743,2743</Addresses></Option>

    </Field>

 

    <Field name="OK4">

        <Description>CC.</Description>

        <Option name="BANANA"><Addresses>1529</Addresses></Option>

        <Option name="ORANGE"><Addresses>1533</Addresses></Option>

        <Option name="MANGO"><Addresses>2744,2744</Addresses></Option>

    </Field>

</Group>

</Tool>

 

 

 

위와 같은 xml이 있습니다. 이 경우 listview로 <group>, <function>에 대해 계층적으로 표시해주는

listveiw를 제작하고 싶습니다. expandable도 좀 보긴 했었는데, 항목을 선택했을 때 선택한항목에 대한

정보를 넘겨주는걸 못해서 결국 포기했습니다.. 필요한건 xml을 파싱한 후, tree 구조로 표시를 해 준 다음,

<field>의 option항목인 function1, function2 항목에 대한 adress값에 있는 값을 수정하는 app을 만들어야하합니다.ㅜㅜ 값을 수정하는 부분은 다른 액티비티 또는 다른 fragment에서 값을 변경하려고 합니다.

xml 파싱과 listview 구조로 나타내는것이 어렵습니다. 고수분들 도와주세요ㅠㅠ

원하는 출력 listview

GroupA
+Function1
++Field_name
+++Option name(Function1)  // 옵션이름을 Function1이름과 동일한것을 사용

option name까지 클릭 시, 
다른 fragment 또는 activity에서 <preset> value값들을 출력

 

 

kkking (320 포인트) 님이 2019년 8월 23일 질문
kkking님이 2019년 8월 24일 수정

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...