分享好友 移动开发首页 频道列表

Android 中处理 XML 的四种方式-XPath

Android开发  2016-11-23 10:060

适用场景:只取 XML 中的部分节点值非常方便,我很喜欢 XPath,关于 XPath 语法请参考SelectNodes 与 XPath,这是 C# 中的,但是 XPath 语法是通用的。

import org.xml.sax.InputSource;

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

import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;


try {
    String xml = "<?xml version=\"1.0\"?><root><siteName>千一网络</siteName><siteUrl>http://www.cftea.com/</siteUrl></root>";
    InputStream inputStream = new ByteArrayInputStream(xml.getBytes());
    InputSource inputSource = new InputSource(inputStream);

    XPathFactory factory = XPathFactory.newInstance();
    XPath xpath = factory.newXPath();
    String siteName = xpath.evaluate("/root/siteName", inputSource); // 如果同名节点有多个,希望返回数组,则跟第三个参数:XPathConstants.NODESET,返回类型变为 NodeList
    editText.setText(siteName);

    inputStream.close();
} catch (XPathExpressionException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

查看更多关于【Android开发】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
更多推荐