如何使用XmlPullParser解析XML

Rom*_*omi 3 java xml xmlpullparser

我想使用Java XmlPullParser来解析XML文件,如下所示:

<start>
    <tag1> text1 </tag1>
    <tag2> 
        <tag3>text3</tag3>
        <tag1>text4</tag1>
    </tag2>
    <tag4> text5</tag4>
</start>
Run Code Online (Sandbox Code Playgroud)

我只想<tag1> text1 </tag1>作为结果.我目前的方法产生<tag1> text1 </tag1><tag1>text4<tag1/>.我还能做什么?

编辑:

我正在获取String格式的XML .我想用它来解析它org.xmlpull.v1.XmlPullParser;.

bdo*_*han 9

您也可以使用javax.xml.xpathAPI:

import java.io.FileReader;
import javax.xml.xpath.*;
import org.w3c.dom.Node;
import org.xml.sax.InputSource;

public class XPathDemo {

    public static void main(String[] args) throws Exception {
        XPathFactory xpf = XPathFactory.newInstance();
        XPath xpath = xpf.newXPath();
        InputSource xml = new InputSource(new FileReader("input.xml"));
        Node result = (Node) xpath.evaluate("/tag1", xml, XPathConstants.NODE);
        System.out.println(result);
    }

}
Run Code Online (Sandbox Code Playgroud)


Cha*_*dNC 5

每个人都有自己对Java中XML处理的偏好,我更喜欢在Java中处理XML时使用JAXB,因为我发现使用这个直接的xpath更容易.