Tag: 解析

使用SAX解析具有未知递归量的XML结构

我必须使用SAX解析器在JAVA中解析XML结构。 问题是结构是递归的,具有未指定的递归计数。 这仍然不是什么大问题,最重要的是我无法利用XML命名空间function,并且每个递归级别的标签都是相同的。 这是结构的一个例子。 正如您所看到的那样,有一个递归,更好的是一个未定义的递归数。 现在我的问题是如何为每次递归提取所有数据并将其保存在HashMap中。 我可以为Tags的出现定义一个ContentHandler并让它在HashMap提取内容并将其放回主内容处理程序中定义的主 HashMap中,但我不确定这样做会很热。 如何在不使用命名空间的情况下提取和保存递归XML结构的内容?

在使用DocumentBuilder.parse解析格式良好的XML时,如何关闭validation?

我正在使用Java 6.我想解析我知道格式正确的XHTML。 因此,我不想对文档中引用的DTD或其他模式进行任何validation。 但是,我无法弄清楚如何关闭validation。 我有 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setValidating(false); final DocumentBuilder b = factory.newDocumentBuilder(); final InputSource s = new InputSource(new StringReader(str)); org.w3c.dom.Document result = b.parse(s); 但我仍然在最后一行得到例外…… java.net.SocketException: Unexpected end of file from server at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:777) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:640) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:774) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:640) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:677) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1315) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1282) at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:283) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1194) at […]

robots.txt解析器java

我想知道如何解析java中的robots.txt。 有代码吗?

Java中的协议缓冲区`ParseFromString`用于解析文本格式?

ParseFromString在Java中是否可用于协议缓冲区? C ++版本有它: 这里

Java n-triple RDF解析

我想解析一个n-tripleforms的RDF文件。 我可以编写自己的解析器,但我宁愿使用一个库,Jena似乎为此目的而复杂化(或者至少我看不到他们的文档解释如何以合理的方式读取n-triples)。 你可以请我指出任何有用的图书馆,或者如果你了解芝麻或耶拿,你可能知道如何解决这个问题。

用Java解析一个没有很好的大文件

我必须解决一个接近解析一个巨大的文件,如3 GB或更高的问题。 好吧,该文件的结构如下,伪xml文件如下: … others doc… 浏览网络我已经阅读了一些遇到管理文件问题的人,但他们建议我用NIO映射文件。 所以我认为解决方案过于庞大,可能会让我抛出exception。 所以我认为我的问题是解决2个doutbs: 如何及时有效地阅读3 GB文本文件 如何有效地解析docFileNoxx中的html摘要,并将规则应用于html的标记以提取标记的post。 那么..我试着用这种方式解决第一个问题: _reader = new BufferedReader(new FileReader(filePath))//创建文件的缓冲区读取器 _currentLine = _reader.readLine(); //我迭代逐行读取它的文件 对于每一行,我将行附加到String变量,直到遇到标记 因此,使用JSOUP和后期CSSfilter,我提取内容,并将其存档。 那么提取25 MB的过程平均需要大约88秒….所以我想执行它。 我可以进行提取吗?

使用Gson从JSON对象获取键名

我有一个JSON对象,我想从中获取密钥名称并将它们存储在ArrayList中。 我使用了以下代码 jsonData(String filename) { JsonParser parser = new JsonParser(); JsonElement jsonElement = null; try { jsonElement = parser.parse(new FileReader(filename)); } catch (JsonIOException | JsonSyntaxException | FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } JsonObject jsonObject = jsonElement.getAsJsonObject(); int i = 0; for (Entry entry : jsonObject.entrySet()) { String key = entry.getKey(); JsonElement […]

用于模拟数据树的java数据结构

我需要帮助定义使用的方法。 我有一个SOAP响应给我一个xml文件。 我需要最终在屏幕上显示3个相关列表。 当您在第一个列表中选择一个项目时,相应的选项将出现在第二个列表等上。我只对如何在从xml流中提取数据后有效组织数据感兴趣。 这是一个xml片段: Acer A1 Android Acer A1 J2ME Acer A2 Android Samsung E400 Android 所以,我会有类似manufacturer = {“Acer”,“Acer”,“Acer”,“Samsung”},model = {“A1”,“A1”,“A2”,“E400”},platform = { “机器人”, “J2ME”, “机器人”, “机器人”}。 有趣的是:我需要按摩数据,以便我可以使用它来显示3个列表。 选择Android后,宏碁和三星成为可用的。 如果选择Acer,则可以使用型号A1和A2。 所有列表都需要排序。 目前我正在使用Sax将数据解析为对象向量,包含制造商,模型,平台字段。 我能想到的只是一个类似TreeMap的结构。 任何建议,将不胜感激。

寻找一个库来处理Java中的CDA(AKA HL7v3,AKA CCD)消息

我正在处理Java应用程序的CDA消息。 CDA是另一种发送医疗信息的XML标准,它与CCD和HL7v3密切相关。 我已经审查了以下的图书馆,发现它们缺乏,有前途,但缺乏。 JAXB – 为它提供CDA XSD并让它生成类。 它可以工作,但它实际上并不提供访问XML的Java层 来自Regenstreif的HL7 JavaSIG – Promising,但是项目的一半似乎隐藏在“阻碍”的标签下,几乎没有关于如何通过适当的渠道获取访问权限或获取数据的信息。 MDHT – 早期版本,与Eclipse中的建模工具紧密相关。 似乎它会工作,但学习曲线非常陡峭。 我可以访问HL7.org上的资源。 是否有其他图书馆的想法? 社区访问问专家?

Java,用冒号分割输入文件

我想在冒号字符的java中拆分一些字符串。 字符串的格式为: Account:Password 。 我想分开令牌: Account和Password 。 最好的方法是什么?