jfinal-weixin1.8中的XmlHelper,XPath语法解析xml

XPath 语法

《w3school》XPath 语法:http://www.w3school.com.cn/xpath/xpath_syntax.asp

基于Jdk的w3c.dom xml解析工具类

http://git.oschina.net/jfinal/jfinal-weixin/blob/master/src/main/java/com/jfinal/weixin/sdk/utils/XmlHelper.java

代码示例

@Test
public void test001() {
    String xml =
            "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n" +
            "<bookstore>\n" +
                "<book>\n" +
                    "<title lang=\"eng\">Harry Potter</title>\n" +
                    "<price>29.99</price>\n" +
                "</book>\n" +
                "<book>\n" +
                    "<title lang=\"eng\">Learning XML</title>\n" +
                    "<price>39.95</price>\n" +
                "</book>\n" +
            "</bookstore>";

    XmlHelper xmlHelper = XmlHelper.of(xml);
    String title1 = xmlHelper.getString("//book[1]/title");
    Assert.assertEquals(title1, "Harry Potter");

    String titleLang = xmlHelper.getString("//book[1]/title/@lang");
    Assert.assertEquals(titleLang, "eng");

    Number price1 = xmlHelper.getNumber("//book[1]/price");
    System.out.println(price1.doubleValue());

    Node node = xmlHelper.getNode("//book[2]/title");
    String titleLang2 = xmlHelper.getString(node, "@lang");
    Assert.assertEquals(titleLang2, "eng");

    Assert.assertEquals(titleLang, titleLang2);
}

说明

适用于不太复杂xml的简单解析,例如项目配置等。

优点:xpath语法使用简单,无任何第三方依赖。

关于JFInal-weixin的更多姿势,请查看WIKI:http://git.oschina.net/jfinal/jfinal-weixin/wikis/home

评论区

少帅

2016-06-26 14:41

欢迎大家加入jfinal 微信开发交流Q群 302705498

Dreamlu

2016-06-29 09:21

@少帅 你这还是加到我们“如梦技术”群吧:237587118,对JFinal-weixin有什么疑问、bug都可以直接反馈。

Dreamlu

2016-09-19 10:39

@JFinal 这个确定挺好用,解析配置文件很方便,mybatis里面也是这么弄的。

JFinal

2016-09-19 11:11

@Dreamlu 无第三方依赖,极度轻量级,使用简单,对于一般的配置文件解析足够了,要的就是这种风格,赞一个