[Java] 基本操作--读取xml文件 →→→→→进入此内容的聊天室

来自 , 2020-04-10, 写在 Java, 查看 109 次.
URL http://www.code666.cn/view/93fb9d4b
  1. 1.主类
  2. package s0210xml文件的读取和创建;
  3.  
  4. import java.io.File;
  5. import java.io.IOException;
  6. import javax.xml.parsers.DocumentBuilder;
  7. import javax.xml.parsers.DocumentBuilderFactory;
  8. import javax.xml.parsers.ParserConfigurationException;
  9. import org.w3c.dom.Document;
  10. import org.w3c.dom.Element;
  11. import org.w3c.dom.Node;
  12. import org.w3c.dom.NodeList;
  13. import org.xml.sax.SAXException;
  14.  
  15.  
  16. public class ReadXML {
  17.  
  18.         public static void main(String[] args) {
  19.                
  20.                 try {
  21.                         //将xml文件转换为dom文件
  22.                         DocumentBuilderFactory factory  = DocumentBuilderFactory.newInstance();//目的是根据xml文件创建DOM文件
  23.                         DocumentBuilder builder = factory.newDocumentBuilder();
  24.                         Document document = builder.parse(new File("src/s0210xml文件的读取和创建/languages.xml"));//将传入的xml文件转换为document文件
  25.                         //将xml文件转换为dom文件
  26.                        
  27.                
  28.                         Element root = document.getDocumentElement(); //获取当前文档的根元素
  29.                         System.out.println("cat="+root.getAttribute("cat"));
  30.                         NodeList list = root.getElementsByTagName("lan");//根据标签名获取所有元素,存入list中
  31.                        
  32.                         //遍历子节点
  33.                         for (int i = 0; i < list.getLength(); i++)
  34.                         {
  35.                                 Element lan = (Element) list.item(i);
  36.                                 System.out.println("---------------");
  37.                                 System.out.println("id="+lan.getAttribute("id"));//element.getAttribute()方法获取element中的属性值
  38.                                
  39.                                 NodeList clist = lan.getChildNodes();//element.getChildNodes()方法获取所有的子节点
  40.                                 for (int j = 0; j < clist.getLength(); j++)   //读取id下面的子节点数据
  41.                                 {
  42.                                         Node c = clist.item(j);
  43.                                         if (c instanceof Element) {
  44.                                                 System.out.println(c.getNodeName()+"="+c.getTextContent());//element.getTextContent得到Node中属性的值
  45.                                         }
  46.                                 }
  47.                         }
  48.                        
  49.                        
  50.                        
  51.                 } catch (ParserConfigurationException e) {
  52.                         e.printStackTrace();
  53.                 } catch (SAXException e) {
  54.                         e.printStackTrace();
  55.                 } catch (IOException e) {
  56.                         e.printStackTrace();
  57.                 }
  58.         }
  59. }
  60.  
  61.  
  62. 2.xml文件内容
  63.  
  64. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  65. <Languages cat="itt">
  66.         <lan id="1">
  67.                 <name>Java</name>
  68.                 <ide>Eclipse</ide>
  69.         </lan>
  70.         <lan id="2">
  71.                 <name>Swift</name>
  72.                 <ide>XCode</ide>
  73.         </lan>
  74.         <lan id="3">
  75.                 <name>C#</name>
  76.                 <ide>Visual Studio</ide>
  77.         </lan>
  78. </Languages>
  79.  

回复 "基本操作--读取xml文件"

这儿你可以回复上面这条便签

captcha