0

我创建了一个 xml 文件并存储在我的 sdcard 中。我正在使用 DOM 解析器来检索它。我的 xml 文件就像。我使用了一个简单的 xml 文件进行演示。它是:

<?xml version="1.0"?>
<root>
    <staff>
        <word>1</word>
        <meaning>one</meaning>

    </staff>
    <staff>
        <word>2</word>
        <meaning>two</meaning>

    </staff>
</root>

在我的活动中,我有一个自动完成文本视图。当我输入 1 时,它应该显示在其含义中给出的值“一”。是否可以这样做以及如何做到这一点?

4

1 回答 1

0

使用获取节点列表getElementsByTagName("staff")

获取子节点getChildNodes()

现在获取节点名getNodeName()和节点值getNodeValue()

请参阅下面的代码:

 Element root=doc.getDocumentElement();    
                 NodeList nodeList=root.getElementsByTagName("staff");
                 for(int i=0;i<nodeList.getLength();i++)
                 {
                     Node statenode=nodeList.item(i);  

                     NodeList idList= statenode.getChildNodes();
                    for(int j=0;j<idList.getLength();j++)
                    {
                      Node property = idList.item(j);
                  String name = property.getNodeName();


                  if (name.equalsIgnoreCase("word"))
                  {
                     //Read your values here

                      Log.e("",property.getFirstChild().getNodeValue());

                   }
                  if (name.equalsIgnoreCase("meaning"))
                  {
                      //Read your values here
                      Log.e("",property.getFirstChild().getNodeValue());

                   }
                    }

                   }
于 2012-07-30T13:12:05.413 回答