问题标签 [apache-commons-digester]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
72 浏览

apache-commons-digester - 使用消化器 xmlrules 声明插件

我尝试在 xml 文件 (xmlrules) 中编写 Apache 摘要器解析规则。但我在 digester-rules.dtd 中没有看到类似 PluginCreateRule 的内容。问题是:(如何)我可以在 xml 规则文件中声明和引用插件吗?

0 投票
2 回答
1006 浏览

android - android with commons-digester java.lang.UnsupportedOperationException:此解析器不支持规范“未知”版本“0.0”

我必须使用 commons-digester.jar 在 android 中处理 xml 文件实际上这是一个开源程序,它使用 commons-digester.jar 在 Java 中进行 xml 处理,我需要更改它以支持 Android,但是会发生此错误:

Digester.getParser:java.lang.UnsupportedOperationException:此解析器不支持规范“未知”版本“0.0”

java.lang.NullPointerException 03-29 11:24:02.590: W/System.err(17018): at org.apache.commons.digester3.Digester.getXMLReader(Digester.java:790) 03-29 11:24:02.590 : W/System.err(17018): at org.apache.commons.digester3.Digester.parse(Digester.java:1588) 03-29 11:24:02.590: W/System.err(17018): at org. apache.commons.digester3.Digester.parse(Digester.java:1557) 03-29 11:24:02.590: W/System.err(17018): at com.tashkeel.android.utilities.alkhalil.DbLoader.LoadPrefixes(DbLoader .java:65) 03-29 11:24:02.590: W/System.err(17018): 在 com.tashkeel.android.utilities.alkhalil.analysis.Analyzer.(Analyzer.java:64) 03-29 11: 24:02.600: W/System.err(17018): 在 com.tashkeel.android.MainActivity$1.run(MainActivity.java:80) 03-29 11:24:02.600: W/System.err(17018): 在java.lang.Thread.run(Thread.java:856) 03-29 11:24:03.240: W/System.err(17018):

和使用 commons-digester 的代码示例

我尝试解析的 xml 的一部分:

0 投票
1 回答
61 浏览

xml - 如何使用 commons-digester 仅解析 XML 中重复元素中的第一个元素?

示例 XML:

我正在尝试使用 commons-digester 注释解析 xml。我只想获取 xml 的第一个元素。但它总是从重复元素中获取最后一个元素。你能帮帮我吗?

这是示例代码:

0 投票
2 回答
420 浏览

java - Java - Apache commons Digester - 编写 xml

我正在使用 Apache Commons Digester(带注释)将 XML 文件加载到 Java 类中。一切正常。现在,我需要更新 XML 文件。我必须更改(在 Java 中)属性的值,然后写出新的 XML 文件。我该怎么办?据我所知,Digester API 并不是为此目的而设计的。

编辑:阅读答案,我知道我没有提供足够的信息。我的 XML 文件是程序 A 的配置文件,所以当我启动程序 A 时我真的需要它的内容。然后,我有另一个 GUI 程序 B 能够修改这个配置文件,它只需要用户的一些输入和修改 XML 文件上的相关字段。

0 投票
1 回答
330 浏览

xml - 您如何使用 Apache Digester 忽略一个元素?

如何设置消化器规则以忽略具有特定属性值的元素?例如,给定下面的 XML 和消化器规则,我如何告诉它忽略名称等于“Alex”的参数?

XML:

当前的 XML 规则:

0 投票
1 回答
595 浏览

java - Apache Digester XML 角色调用 bean 上的自定义设置器

我正在尝试使用 Apache commons-digester3 解析一个大的 XML 文件。我有兴趣只提取某些数据。XML 相当复杂,我不希望构建整个结构,而是匹配我感兴趣的模式。

假设我有以下 XML:

我有以下要解析的域对象:

现在我有了 XML 规则,但在正确处理它们时遇到了问题:

我尝试了 , 等的各种组合set-method-rulebean-property-setter-rule但都没有给我想要的东西。我想要的似乎很基本,我确信解决方案一定很明显,但我无法得到它。

预先感谢您的帮助。

0 投票
1 回答
139 浏览

java - 使用摘要器检索 XML 的命名空间值

我正在尝试从 XML 文件中提取信息,并且能够在没有其属性的情况下提取值。

代码:

解析器类:

XML 看起来像这样:

如何提取 URI 值

从那个 XML 行

0 投票
1 回答
434 浏览

java - 使用带有 JSON 的 Apache Commons Digester

我正在编写一个扩展类的类,该类使用 Digester 解析来自 API 的 XML 响应(现有类示例,下面的代码片段)。收到响应后,代码会创建一个对象并在其上添加特定的方法。

为简洁而编辑的代码片段:

但是,我将调用的 API 仅支持 JSON。我找到了一个可能的解决方案,它涉及将 JSON 转换为 XML,然后通过 Digester 运行它,但这似乎非常骇人听闻。

有一个更好的方法吗?

0 投票
1 回答
136 浏览

apache-commons-digester - apache digester sax parser exception

I'm trying to use Apache Digester to parse my SOAP response, but am getting SaxParserException. Here is what I have:

Main.java

SubmitResponse.java

TaskResponse.java

But this code is giving me SaxParserException. I'm guessing that I'm not giving the correct pattern. Can somebody please suggest?

0 投票
1 回答
217 浏览

java - Apache Digester XML parser annotations and composite model

I have a following XML document which I'm going to parse into an object model with Apache Digester parser(via Digester annotations):

As you can see from this XML there are two Criterion nodes by two different paths:

  1. Decision/Criteria/Criterion
  2. Decision/CriterionGroups/CriterionGroup/Criteria/Criterion

This my object model:

Right now I'm only able to parse Decision/Criteria/Criterion but Decision/CriterionGroups/CriterionGroup/Criteria/Criterion are still NULL. How to configure my model and change annotations in order to be able to parse CriterionNode with two different locations ?

Also, I don't understand why parser finds two Criterion nodes instead a single one by Decision/Criteria/Criterion:

enter image description here