广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    Android XML数据解析简单示例

    2018-05-03 14:17:35 次阅读 稿源:互联网
    广告

    1、创建XML数据

    在android工程目录中res/目录下创建raw文件夹,在raw文件夹内创建data.xml。

    代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <data>
        <class>
            <c studentNum="1">Android</c>
            <c studentNum="2">IPhone</c>
        </class>
    </data>

    2、XML解析代码

    代码如下:

    import java.io.IOException;
    import java.io.InputStream;

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;

    import org.w3c.dom.Document;
    import org.w3c.dom.NamedNodeMap;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;

    import android.os.Bundle;
    import android.app.Activity;

    public class MainActivity extends Activity {

     @Override
     protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      
      InputStream is = getResources().openRawResource(R.raw.data);
      try {
       byte[] bytes = new byte[is.available()];
       is.read();
       String XMLStr = new String(bytes,"utf-8");
       is.reset();
       System.out.println(XMLStr);
       
       DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
       Document doc = builder.parse(is);
       
       Node node = doc.getFirstChild();
       System.out.println("第一个子节点"+node.getNodeName());
       NodeList list = doc.getElementsByTagName("c");
       NamedNodeMap map;
       for(int i = 0; i < list.getLength(); i++)
       {
        node = list.item(i);
        map = node.getAttributes();
        System.out.println(node.getTextContent()+"  studentNum  "+map.getNamedItem("studentNum").getNodeValue());
       }
       
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      } catch (ParserConfigurationException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      } catch (SAXException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
     }
    }

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告