Tag: sax

dom4j SAXReader – 停止解析

我正在使用SAXReader解析XML文件,并希望在文件太大的情况下在一定时间(超时)后停止。 在高级别,我想在ContentHandler(例如,startElement)中抛出SAXException。 这个想法在这里描述: http : //www.ibm.com/developerworks/xml/library/x-tipsaxstop/ 但是,dom4j的SAXReader使用ElementHandler,其中“onStart”和“onEnd”事件不允许抛出exception。 我有点担心这里要做什么。 有什么建议么? 谢谢。

在SAX解析后在列表视图中显示数据

任何人都可以给我一个完整的教程系列链接或示例eclipse项目代码链接用于在Android中的SAX解析XML后在列表视图中显示数据。 提前致谢。

XML Parser Android

我有一个huuge HTML文件,像这样: Need this Text Need this Text too (1) Need this Text too (2) </div 如何在这个html文件中“导航”以获取我想要的文本? html->body->div#wraper->div#col x8 black-> div#side-vox last10-> ul#sidebarlist -> li#first 对于这项工作,什么是更好的DOM或SAX? (我不是母语为英语的人)

使用SAX获取DOCTYPE详细信息(JDK 7)

我正在使用JDK7附带的SAX解析器。 我试图抓住DOCTYPE声明,但是DefaultHandler中的所有方法似乎都没有被触发。 我错过了什么? import java.io.StringReader; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class Problem { public static void main(String[] args) throws Exception { String xml = “”; SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser(); InputSource in = new InputSource(new StringReader(xml)); saxParser.parse(in, new DefaultHandler() { @Override public void startElement(String uri, String localName, String […]

StAX – 从xml读取base64字符串到db

我正在使用StAX读取我的文件,其中包含一些Base64数据,并使用Hibernate将其保存到数据库中。 XML: lololencoded12 encodedlolos32 …………………………. 要读取和保存的代码: xmlif = (XMLInputFactory2) XMLInputFactory2.newInstance(); xmlif.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.FALSE); xmlif.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE); xmlif.setProperty(XMLInputFactory.IS_COALESCING, Boolean.FALSE); xmlif.configureForLowMemUsage(); List entities = new ArrayList(); FileInputStream fis = new FileInputStream(filename); XMLStreamReader2 xmlr = (XMLStreamReader2) xmlif.createXMLStreamReader(filename, fis); int eventType = xmlr.getEventType(); String curElement = “”; while (xmlr.hasNext()) { eventType = xmlr.next(); switch (eventType) { case XMLEvent.START_ELEMENT: curElement=xmlr.getName().toString(); if (“base64”.equals(curElement)) […]

JAVA SAX DefaultHandler startCDATA()未触发

我试图在标签内解析并检测CDATA的开始,如: 我有一个扩展Default处理程序的类 class MyXmlDoc extends DefaultHandler{ 使用正确endElement() startElement()和endElement() ,但startCDATA()永远不会触发。 我的characters()方法选择’数据在这里’所以看起来CDATA’包装’被检测到但是??? 感谢您的任何见解!

在SAX解析期间确定根元素

我正在使用SAX来解析XML文件。 假设我希望我的应用程序只处理具有根元素“ animalList ”的XML文件 – 如果根节点是其他东西,则SAX解析器应该终止解析。 使用DOM,你会这样做: … Element rootElement = xmldoc.getDocumentElement(); if ( ! rootElement.getNodeName().equalsIgnoreCase(“animalList”) ) throw new Exception(“File is not an animalList file.”); … 但我无法确定如何使用SAX来做 – 我无法弄清楚如何告诉SAX解析器确定根元素。 但是,我知道如何在任何时候停止解析(在查看Tom的解决方案之后 )。 示例XML文件: Old Joe Spike Scooby Ginger Tom Keta 谢谢。

使用SAX进行XML解析| 如何处理特殊字符?

我们有一个JAVA应用程序,它从SAP提取数据,解析它并呈现给用户。 使用JCO连接器拉取数据。 最近我们被抛出一个例外: org.xml.sax.SAXParseException: Character reference “&#00” is an invalid XML character. 因此,我们计划在解析XML之前编写一个新的间接级别,其中替换所有特殊/非法字符。 我的问题是: 是否有任何现有的(开源)实用程序可以替换XML中的非法字符? 或者如果我必须编写这样的实用程序,我应该如何处理它们? 为什么抛出上述exception? 谢谢。

JAXB解组未知XML内容的子集

我需要unmarshall组未知XML内容的子集,使用该未编组对象,我需要修改一些内容并使用原始XML重新绑定相同的XML内容(子集)。 示例输入XML: Robin SM Active ….. 需要通过将其他XML部分保持相同来单独解组标记。 需要修改标记中的元素并将修改后的XML部分与原始文件绑定,如下所示: 预期输出XML: Robin_123 Senior Member 1 ….. 我的问题: 这个要求的可能解决方案是什么? (除了DOM解析 – 因为XML contnet非常庞大) 在JAXB2.0有没有选择呢? 请提供您的建议。

SAX解析:如何获取子节点

我在android中使用SAX解析。 对于以下XML: Game Analysis GTA ABC Sat, 21 Feb 2012 05:18:23 GMT CoD XYZ Sat, 21 Feb 2011 05:18:23 GMT 我需要获取的第一次出现(正好在下面)。 然后从每个块我再次需要提取 & 。 我可以使用以下方法获取第一个 :public void startElement(String uri,String localName,String qName,Attributes attributes)抛出SAXException {if(qName.equals(“title”))…} 但是,我应该如何获取 block内的标签?