0
可以引導我什麼是我可以在java中使用的最好的XML解析器?與DOM類似,我已經檢查過SAX,它不會幫助我。 另外我需要解析未知的XML並將該內容保存到文件中。所以JAXB也不會幫助我。java中的XML解析器;需要在JAVA中解析未知的XML
可以引導我什麼是我可以在java中使用的最好的XML解析器?與DOM類似,我已經檢查過SAX,它不會幫助我。 另外我需要解析未知的XML並將該內容保存到文件中。所以JAXB也不會幫助我。java中的XML解析器;需要在JAVA中解析未知的XML
嗨下面類可以幫助您解析和處理收到的XML ..絕對增加進口,並與您的XML替換字符串..
public class XML {
public static void main (String[] args) throws Exception {
String xml = "<objects><student marks='one'/><student marks='two'/><school>Best school</school><teacher/></objects>";
// parse the above xml
InputStream in = new ByteArrayInputStream(xml.getBytes("utf-8"));
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in);
// processing it
Node objects = doc.getDocumentElement();
for (Node object = objects.getFirstChild(); object != null; object = object.getNextSibling()) {
if (object instanceof Element) {
Element e = (Element)object;
if (e.getTagName().equalsIgnoreCase("student")) {
String marks = e.getAttribute("marks");
System.out.println("It's a " + marks + " student!");
} else if (e.getTagName().equalsIgnoreCase("school")) {
String text = e.getTextContent();
System.out.println("It's a school that says \"" + text + "\".");
} else {
System.out.println("I don't know what a " + e.getTagName() + " is for.");
}
}
}
}
}
您可以使用節點像getFirstChild方法( )和getNextSibling()遍歷子元素。如果您正在解析多個文檔,您可以繼續使用相同的DocumentBuilder
您是否嘗試過內置於jdk中的stax解析器?你的意思是未知的XML?你如何處理你的XML標籤? – 2015-04-06 08:26:03
如果您不知道XML中包含什麼內容,那麼解析會有什麼好處呢?請嘗試更詳細地解釋您的任務或問題。 – RealSkeptic 2015-04-06 08:32:11
解析部分很簡單; ,解析器只需要有效的XML,它並不關心結構。 – 2015-04-06 08:40:14