[英]How to parse XML using XmlPullParser
我想使用Java XmlPullParser來解析XML文件,如下所示:
<start>
<tag1> text1 </tag1>
<tag2>
<tag3>text3</tag3>
<tag1>text4</tag1>
</tag2>
<tag4> text5</tag4>
</start>
我只想要<tag1> text1 </tag1>
作為結果。 我當前的方法產生<tag1> text1 </tag1>
和<tag1>text4<tag1/>
。 我還能做什么?
編輯:
我正在以String
格式獲取XML。 我想用org.xmlpull.v1.XmlPullParser;
解析它org.xmlpull.v1.XmlPullParser;
。
您也可以使用javax.xml.xpath
API:
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);
}
}
每個人都有自己對Java中XML處理的偏好,我更喜歡在Java中處理XML時使用JAXB ,因為我發現使用這個直接的xpath更容易。
您可以使用Java Xpath API執行此操作
嘗試使用dom4j庫
InputStream is = FileUtils.class.getResourceAsStream(filepath);
SAXReader reader = new SAXReader();
org.dom4j.Document doc = reader.read(is);
is.close();
Element content = doc.getRootElement();
List<Element> els = content.elements("elemeNtname");
在此方法之后,您將獲得els列出名為“elemeNtname”的xml文件中的所有元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.