Android 中处理 XML 的四种方式-XPath
ITPOW2016/11/23 9:36:32
适用场景:只取 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>ITPOW</siteName><siteUrl>http://www.itpow.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(); }
<<返回首页<<