Xml解析

以你之姓@ 2021-09-29 12:50 627阅读 0赞

Xml解析需要依赖 Dom4j包 备注:记得导入Dom4j包

XML的作用

配置
\
.properties
userPage=20
*.xml
数据交换
xml
webservice
json
静态资源文件
css、js、html、图片、视屏*

  • 读取指定位置下的资源文件(db.properties)*

    //获取同包下的资源文件,将其转化成流对象
    InputStream in=PropertiesDemo.class.getResourceAsStream(“db.properties”);

需要专门的工具类来将流中的数据解释出

  1. Properties p=new Properties();
  2. p.load(in);
  3. System.out.println(p.getProperty("uname"));
  4. System.out.println(p.getProperty("upass"));

资源文件存放在根目录下

  1. InputStream in=Propertie
  2. sDemo.class.getResourceAsStream("/db.properties");

何为sourcefolder
代码不将其当做文件来处理,程序员用来做文件归类所用

1691532-20190610195909103-1730356930.png

将资源文件存放在web-inf下

  1. package com.zking.pres;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import java.util.Properties;
  5. import javax.servlet.ServletContext;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. public class ParseServlet extends HttpServlet{
  11. private static final long serialVersionUID = -1102190634374988166L;
  12. @Override
  13. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  14. // TODO Auto-generated method stub
  15. doPost(req, resp);
  16. }
  17. @Override
  18. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  19. // TODO Auto-generated method stub
  20. ServletContext context=req.getServletContext();
  21. InputStream in= context.getResourceAsStream("/WEB-INF/db.properties");
  22. //需要专门的工具类来将流中的数据解释出来
  23. Properties p=new Properties();
  24. p.load(in);
  25. System.out.println(p.getProperty("uname"));
  26. System.out.println(p.getProperty("upass"));
  27. }
  28. }

配置Xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  3. <display-name>Xmlpres</display-name>
  4. <servlet>
  5. <servlet-name>ParseServlet</servlet-name>
  6. <servlet-class>com.zking.pres.ParseServlet</servlet-class>
  7. </servlet>
  8. <servlet-mapping>
  9. <servlet-name>ParseServlet</servlet-name>
  10. <url-pattern>/ParseServlet</url-pattern>
  11. </servlet-mapping>
  12. </web-app>

解析指定路径下的资源文件(全部代码)

  1. package com.zking.pres;
  2. import java.io.InputStream;
  3. import java.util.List;
  4. import org.dom4j.Document;
  5. import org.dom4j.Element;
  6. import org.dom4j.Node;
  7. import org.dom4j.io.SAXReader;
  8. /*
  9. * dom4j解析
  10. * jdom jdk sax解析
  11. * 解析指定路径下的资源文件
  12. *
  13. *
  14. */
  15. public class XmlDemo {
  16. public static void main(String[] args) throws Exception {
  17. InputStream in= XmlDemo.class.getResourceAsStream("config.xml");
  18. SAXReader saxReader=new SAXReader();
  19. Document doc=saxReader.read(in);
  20. System.out.println(doc.asXML());
  21. //xpath解析 能够将XML格式的串当做目录结构来进行查找
  22. List<Element> stuEles= doc.selectNodes("/students/student");
  23. for (Element stuEle : stuEles) {
  24. if ("s002".equals(stuEle.attributeValue("sid"))) {
  25. System.out.println(stuEle.asXML());
  26. Element nameELe=(Element) stuEle.selectSingleNode("name");
  27. System.out.println(nameELe.asXML());
  28. System.out.println(nameELe.getText());
  29. }
  30. }

简单代码解析

  1. Element stuEle= (Element) doc.selectSingleNode("/students/student[@sid='s002']");
  2. System.out.println(stuEle.asXML());

转载于:https://www.cnblogs.com/xcn123/p/10999933.html

发表评论

表情:
评论列表 (有 0 条评论,627人围观)

还没有评论,来说两句吧...

相关阅读

    相关 XML

    目录 XML解析方式 一.java中配置文件的三种配置位置以及读取方式 1.读取相同目录下配置文件 2.根目录 3.安全路径 WEB-INF 二.DOM4J 2

    相关 【二】、xml

    > 上一篇中说到封装了HttpClient助手类和Json解析响应数据的封装。这节主要扩展响应数据解析类,封装出一个xml解析的实现类,适应微信第三方服务的接口。 主要实现的

    相关 json、xml

    ![Image 1][] -------------------- > 除了XML和Json,文中还涉及到的一些知识:第三方类库的使用,获取本地文件内容,网站API使用,G