2012-08-02 39 views
0

我有一些XML,看起來像這樣:在java中解析「僞」XML(即,格式不正確)?

<xml><name>oscar</name><race>puppet</race><class>grouch</class></xml> 

的標籤改變,是可變的,所以不會有永遠是一個「名稱」標籤。

我試過3或4個解析,它們似乎都窒息了。任何提示?

+1

要解析任何事情,必須有一組文本符合的規則 - 因爲它不符合XML的規則它遵守哪些規則?以及它是如何形成不良的 - 你的榜樣已經形成 – Mark 2012-08-02 23:55:24

回答

0

僅僅因爲它沒有定義的schema,並不意味着它不是「有效的」XML - 您的示例XML 「很好地形成」。

dom4j library會爲你做。一旦解析(您的XML將解析爲OK),您可以遍歷子元素,而不管它們的標記名稱是什麼,並處理數據。

這裏有一個如何使用它的一個例子:

import org.dom4j.*; 

String text = "<xml><name>oscar</name><race>puppet</race><class>grouch</class></xml>"; 
Document document = DocumentHelper.parseText(text); 
Element root = document.getRootElement(); 

for (Iterator i = root.elementIterator(); i.hasNext();) { 
    Element element = (Element) i.next(); 
    String tagName = element.getQName(); 
    String contents = element.getText(); 
    // do something 
} 
0

This is valid xml;嘗試添加允許可選元素的XML模式。如果您可以編寫xml架構,則可以使用JAXB來解析它。 XML允許有可選的元素;它並不太「嚴格」。

0

你的XML樣本格式良好的XML,如果有什麼「嗆」它那麼這將是有益的,我們不清楚到底是什麼症狀的「窒息」是。

相關問題