簡體   English   中英

使用標簽過多的SAX解析器解析XML文件

[英]Parsing XML file with SAX parser having too many tags

我有一個帶有大約60到70個標簽的xml文件。 在調用SAX Parsers startElement,endElement,的回調方法時,如果過多使用字符,將使代碼非常痛苦。是否還有其他方法可以使代碼更具可讀性?

還有其他方法,稱為DOMStAx等。選擇一種靈活的方法。 但是,SAX在內存和時間上效率更高。 有關詳細信息,請參見: http : //docs.oracle.com/javase/tutorial/jaxp/index.html

據我了解,您想根據SAX剛讀的內容執行不同的方法。 我想不出辦法。 在我看來,您在Handler方法的startElement,endElement,characters等中使用if-else/switch語句感到困惑。

如果您發現if-else語句過於復雜,則可以從if子句中提取代碼以分離方法,例如:

@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
    if (ELEMENT1.equalsIgnoreCase(qName)) {
        createElement1();
    } else if (ELEMENT2.equalsIgnoreCase(qName) {
        createElement2();
    } else {
        createDefaultElement();
    }
}

檢查XMLDog

您可以編寫Expressions ,然后內聯評估它們,避免痛苦的if tests系列。 另一個好處是它使用了流解析器(SAX),並且避免了XPath所需的昂貴的內存中解析。

暫無
暫無

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

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