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

   2016-11-23 0
核心提示:适用场景:只取 XML中的部分节点值非常方便,我很喜欢 XPath,关于 XPath语法请参考SelectNodes 与 XPath,这是 C#中的,但是 XPath语法是通用的。import org.xml.sax.InputSource;import java.io.ByteArrayInputStream;import java.io.IOException;import ja

适用场景:只取 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();
}
 
标签: Xpath 安卓开发
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行