Tag: 解析

使用java NodeList合并xml文件

我正在尝试合并两个xml文件,如下所示,但我无法获得所需的输出请帮助我谢谢 Java代码: DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); domFactory.setIgnoringComments(true); DocumentBuilder builder = domFactory.newDocumentBuilder(); Document doc = builder.parse(new File(“file1.xml”)); Document doc1 = builder.parse(new File(“file2.xml”)); NodeList nodes = doc.getElementsByTagName(“staff”); NodeList nodes1 = doc1.getElementsByTagName(“staff”); for(int i=0;i<nodes1.getLength();i=i+1){ Node n= (Node) doc.importNode(nodes1.item(i), true); nodes.item(i).getParentNode().appendChild(n); } Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); StreamResult result = new StreamResult(new StringWriter()); DOMSource source = new DOMSource(doc); […]

是否存在用于二进制文件解析的Java框架?

我的问题是,我想用一个在JAVA中实现的通用解析器来解析不同类型的二进制文件。 也许用一个配置文件描述文件格式,该配置文件由解析器读取或创建根据某种解析规则解析文件的Java类。 我在互联网上搜索了很多,但在这个主题上几乎找不到任何东西。 我发现的只是涉及编译器生成器(Jay,Cojen等)的东西,但我认为我不能用它们来生成解析二进制文件的东西。 但我在这个假设上可能是错的。 是否有任何框架特别容易解析二进制文件或任何人可以给我一个提示如何使用解析器/编译器生成器这样做? 更新 :我正在寻找可以编写配置文件的东西 file: header: FIXED(“MAGIC”) body: content(10) content: value1: BYTE value2: LONG value3: STRING(10) 它会自动生成一些东西来解析以“MAGIC”开头的文件,然后是内容包的十倍(它本身由一个字节,一个长字节和一个10字节的字符串组成)。 Update2 :我发现了一些类似于我正在寻找的东西,“ 构造 ”,但遗憾的是这是一个Python框架。 也许这有助于某人得到一个想法,我正在寻找什么。

Java BBCode库

有没有人使用过BBCode的优秀Java实现? 我在看 javabbcode :没什么好看的 kefir-bb :列为alpha JBoss源代码中的BBcode解析器。 还有更好的选择吗?

GSON解析没有很多类

我有以下JSON,我只对获取元素”status” , “lat”和”lng”感兴趣。 使用Gson ,是否可以解析此JSON以获取这些值而无需创建表示JSON内容的整个类结构? JSON: { “result”: { “geometry”: { “location”: { “lat”: 45.80355369999999, “lng”: 15.9363229 } } }, “status”: “OK” }

哪个面向Java的lexer解析器用于简单项目(ANTLR,DIY等)

我正在开发一个小型文本编辑器项目,并希望为几种语言添加基本语法高亮(Java,XML ……仅举几例)。 作为一种学习经历,我想添加一个流行或非流行的Java词法分析器。 你推荐什么项目。 Antlr可能是最知名的,但它似乎相当复杂和沉重。 以下是我所知道的选项。 ANTLR Ragel(是的,它可以生成用于处理输入的Java源代码) 自己动手(我想我可以编写一个简单的令牌解析器并突出显示源代码)。

将字符串转换为数学表达式?

让我们说我有一个声明这种方式的方法: public double Calc(String expression) { // Code } 我想采用像String这样的String表达式 “2 + 4 – (3 * 4)” 然后将它提供给Calc() ,它应该返回它得到的值。 你能从字符串中解析数学表达式,以便它成为Java可以理解的表达式吗? 因为通常你可以写 return 2 + 4 – (3 * 4); 但那只适用于那个单一的表达方式。

Java邮政地址解析器

与此问题有些相关,但在没有任何关于QuickBooks的答案的情况下,有没有人知道Java的地址解析器? 可以采取非结构化地址信息并解析地址行1,2和城市州邮政编码和国家/地区的东西?

Java是否有一个好的*严格*日期解析器?

Java是否有一个好的, 严格的日期解析器? 我可以访问Joda-Time,但我还没有看到这个选项。 我找到了“有一个很好的Java日期解析器”的问题,虽然这是相关的,但它恰恰相反。 虽然这个问题是要求一个宽松,更模糊的逻辑并且容易出现人为错误解析器,但我想要一个严格的解析器。 例如,对于JodaTime(据我所知)和simpleDateFormat,如果您的格式为“MM / dd / yyyy”: 解析这个:40/40/4353 这将成为有效日期。 我想要一个知道40是无效月份和日期的解析器。 当然,Java中存在一些这样的实现?

从代数表达式创建二叉树

我必须用Java创建一个算术求值器。 为此,我必须解析二叉树中的代数表达式,然后计算并返回结果。 因此,对于第一步,我如何解析二叉树中的表达式? 我知道这个理论,但我的问题是如何用Java做到这一点。 我阅读了以下post创建递归二叉树 但我错过了基本的技巧或方法。 我知道如何创建一个节点(我有一个类,其中包含returnNodeValue,isLeaf,isDoubleNode,isSingleNode等方法),但我想我需要一个方法在二叉树中插入一个节点来实现我想要的东西。 有任何想法吗?

在解析之前确定String是否是有效日期

我有这种情况,我正在阅读包含存储为字符串字段的日期的130K记录。 有些记录包含空格(nulls),有些包含这样的字符串:’dd-MMM-yy’,有些包含’dd / MM / yyyy’。 我写了一个像这样的方法: public Date parsedate(String date){ if(date !== null){ try{ 1. create a SimpleDateFormat object using ‘dd-MMM-yy’ as the pattern 2. parse the date 3. return the parsed date }catch(ParseException e){ try{ 1. create a SimpleDateFormat object using ‘dd/MM/yyy’ as the pattern 2. parse the date 3. return parsed date […]