在android上使用高级xml

时间:2014-12-20 19:06:48

标签: android xml parsing android-activity

我有一个xml文件,如:

<xml>
    <userlist sub='A'>
        <user id='1'>Daan</user>
        <user id='2'>Maarten</user>
        <user id='3'>Wannes</user>
        <user id='4'>Kobe</user>
        ...
    </userlist>
    <userlist sub='B'>
        <user id='5'>Fien</user>
        <user id='6'>Lisa</user>
        <user id='7'>Charlot</user>
        <user id='8'>Agnes</user>
        ...
    </userlist>
    <userdata>
        <userd id='1'>
            <phone>0123498519</phone>
            <genre>M</genre>
            ...
        </userd>
        <userd id='2'>
            <phone>0123958519</phone>
            <genre>M</genre>
            ...
        </userd>
        <userd id='3'>
            <phone>0143488569</phone>
            <genre>M</genre>
            ...
        </userd>
        ...
    </userdata>
</xml>

现在我使用此代码获取用户列表

DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); 
Document XmlCode = documentBuilder.parse(database);
XmlCode.getDocumentElement().normalize();
NodeList nodeList = XmlCode.getElementsByTagName("userlist");

但现在我获得了所有<user>个元素,如何只选择其中sub为'A'的<userlist>

如何选择ID为“3”的用户的电话号码?

1 个答案:

答案 0 :(得分:0)

您解析xml并将其构建为适合您的应用程序的数据结构,该数据结构可能是内存数据结构,也可能是您随后查询的SQLite数据库。你永远不会在任何语言或任何平台上对原始xml进行那种操作 - 它的效率非常低。