簡體   English   中英

在Java中解析“偽” XML(即格式不正確)?

[英]Parsing 'pseudo' XML (that is, not well formed) in java?

我有一些看起來像這樣的xml:

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

該標簽改變,是可變的,所以不會有永遠是一個“名稱”標簽。

我嘗試了3或4個解析,它們似乎都使它窒息。 有什么提示嗎?

有效的xml; 嘗試添加允許可選元素的XML模式。 如果可以編寫xml模式,則可以使用JAXB對其進行解析。 XML允許具有可選元素; 它不太“嚴格”。

僅僅因為它沒有定義的架構 ,並不意味着它不是“有效”的XML-您的示例XML “格式正確的”。

dom4j庫將為您完成此任務。 解析之后(您的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
}

您的XML樣本是格式正確的XML,如果有任何“窒息”的跡象,那么對我們來說,確切地了解“窒息”的症狀是很有用的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM