android XPath parsing xml
##XPath is a A language for finding information in XML documents. XPath can be used to traverse elements and attributes in XML documents.
XPath is a major element of the W3C XSLT standard, and both XQuery and XPointer are built on top of XPath expressions.
Therefore, an understanding of XPath is the basis for many advanced XML applications. To learn more about XPath, please refer to //m.sbmmt.com/.
Two ways.
I did this test on the android 2.2 system. I don’t know if it will work if it is lower than 2.2.
Let’s talk about the steps of XPath parsing xml in detail: xpathTest.xml andandroid The way dom parses xml is the same as DomTest.xml in
1. Create InputSources
2. Obtain the XPathFactory instance.
3. Use the XPathFactory instance to obtain the XPath instance
4. XPath calls the evaluate() method to obtain the queried NodeList
private void xPathParserXml(){
//获取XPathFactory实例
XPathFactory factory = XPathFactory.newInstance();
//用工程生成XPath实例,解析xml
XPath xpath = factory.newXPath();
//
try {
InputSource source = new InputSource(getResources().getAssets().open("xPathTest.xml"));
//第一个参数:需要查询的节点名称,必须要在节点前加“//”
//第二个参数:查询的输入源
//第三个参数:返回的类型
// NodeList nodeList = (NodeList) xpath.evaluate("//group", source, XPathConstants.NODESET);
// if(nodeList != null && nodeList.getLength() > 0){
// for(int i = 0;i < nodeList.getLength();i++){
// Node node = nodeList.item(i);
// //在这也可以得到<group>的子节点<person>。但是这样不符合xpath的风格。
// NodeList personList = node.getChildNodes();
// Element nodeAttr =(Element)node;
// String groupName = nodeAttr.getAttribute("name");
// String num = nodeAttr.getAttribute("num");
//
// Log.e("TEST", ""+groupName+" "+num);
// }
// }
// //获取<person>节点信息
// NodeList personList = (NodeList) xpath.evaluate("//person", source, XPathConstants.NODESET);
// if(personList != null && personList.getLength() > 0){
// for(int i = 0;i < personList.getLength();i++){
// Element node = (Element)personList.item(i);
// //在这也可以得到<person>的子节点<chinese>和<english>。
// NodeList childList = node.getChildNodes();
// String groupName = node.getAttribute("name");
// String age = node.getAttribute("age");
//
// Log.e("TEST", ""+groupName+" "+age);
// }
// }
//获取<chinese>节点信息
NodeList chineseList = (NodeList) xpath.evaluate("//chinese", source, XPathConstants.NODESET);
if(chineseList != null && chineseList.getLength() > 0){
for(int i = 0;i < chineseList.getLength();i++){
Node node = chineseList.item(i);
String chinese = node.getTextContent();
Log.e("TEST", ""+chinese);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XPathExpressionException e) {
e.printStackTrace();
}
}
Note: xpath.evaluate() cannot be called twice and an error will be reported. The reason is unclear. If you know the reason, please leave a message to let us know, thank you.
Some people have asked whether XPath can query large xml files (more than 1M or more). This should be possible in theory, as long as you can Just solve the problem that InputSource can read large-capacity files.
The above is the content of android XPath parsing xml. For more related content, please pay attention to the PHP Chinese website (m.sbmmt.com)!
Hot AI Tools
Undress AI Tool
Undress images for free
AI Clothes Remover
Online AI tool for removing clothes from photos.
Undresser.AI Undress
AI-powered app for creating realistic nude photos
ArtGPT
AI image generator for creative art from text prompts.
Stock Market GPT
AI powered investment research for smarter decisions
Hot Article
Popular tool
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Hot Topics
20518
7
13631
4
Tencent Yuanbao official website latest login entrance Tencent Yuanbao AI usage address
Feb 04, 2026 pm 06:06 PM
The latest login portal of Tencent Yuanbao official website is https://yuanbao.tencent.com/, which is a direct web portal deployed by Tencent. It supports mainstream browsers without installation and has features such as lightweight loading, multi-round conversation memory, and barrier-free access.
What is a 'hackathon” champion in the cryptocurrency industry? What do they gain?
Jan 31, 2026 pm 02:18 PM
The champion of the currency circle's "Hackerathon" is the one with the highest comprehensive score through on-chain testing, K verification, and anonymous review. He or she will enjoy cash rewards (such as $75,000 Grant), token incentives (such as 75,000 flash tokens), and ecological rights (such as conference speeches, protocol access, and application listings).
How to combine HTML5 password with fingerprint verification_Integrate biometrics to provide a convenient method [Method]
Feb 07, 2026 am 09:10 AM
HTML5 does not support direct calls to the fingerprint sensor, and biometric login must be implemented in an HTTPS environment through WebAuthenticationAPI (navigator.credentials); it is only a pure front-end control and does not have access to the hardware. The browser sandbox mechanism prohibits scripts from reading fingerprints or triggering the sensor.
How to enable Android subsystem developer mode in Win11_Windows11 WSA settings debugging
Jan 26, 2026 pm 12:24 PM
If you have turned on the WSA developer mode, you can install the APK through ADB. The operations include: 1. Turn on the developer mode in WSA "Advanced Settings" and confirm the IP and port; 2. If the switch is gray, use PowerShell to execute the Reset-AppxPackage and adb restart commands; 3. Use adbconnect to verify whether the connection is successful.
How to accurately pass and summarize multi-level product prices in nested RecyclerView
Feb 06, 2026 pm 08:54 PM
This article explains in detail how to correctly calculate and return the total price of each store (including the main price of the product, the price and quantity of add-ons) in the three-layer nested RecyclerView (store → product → add-on) structure to avoid the problem of value loss caused by the Adapter life cycle and data binding timing.
How to turn on low blue light mode in Thunderbird AirPlus_Turn on eye protection mode in Thunderbird AirPlus [Protection]
Feb 07, 2026 pm 07:16 PM
Thunderbird AirPlus can turn on the low blue light mode in four ways: 1. Press and hold the right dial on the temple for 2 seconds to quickly start and stop; 2. Adjust the "Display and Brightness → Eye Protection Mode" in the magic box settings; 3. ThunderbirdVisionApp remote synchronization configuration; 4. HDMI source device linkage to trigger hardware-level protection.
What is SAX parsing XML? The difference between SAX and DOM
Feb 05, 2026 am 06:54 AM
SAX parsing is an event-driven streaming XML processing method that triggers callbacks while reading. It has constant memory usage and is suitable for large files or memory-limited scenarios. DOM loads XML as a memory tree, which supports random access but consumes large memory.
Application of html statements_Comparison of loading speed of html statements on different devices [Introduction]
Feb 07, 2026 am 09:39 AM
HTML loading speed is not determined by tag type, but depends on resource volume, network transmission, browser parsing efficiency and device performance differences; mobile terminals need to avoid blocking scripts, inline styles, deep nesting and uncompressed HTML.




