问题标签 [jdom]

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 回答
1660 浏览

java - 为什么我无法使用 JDOM 从根元素中获取属性

让我们考虑这个 xml 文件:

我正在尝试使用 JDOM 解析文件以从根元素中提取属性名称和值。

这是我为此目的而疯狂的代码:

这个 xml 文件一切正常。但是当我使用这个文件时:

我明白了Exception in thread "main" java.lang.NullPointerException

您是否认为我应该在解析之前从 xml 文件中删除 DOCTYPE,并在完成解析后将其传递过去。

或者在这种情况下我还能做些什么?

谢谢

0 投票
1 回答
9031 浏览

java - 解析格式错误/不完整/无效的 XML 文件

我有一个使用 JDOM 和 xpath 解析 XML 文件的过程来解析文件,如下所示:

以上工作正常。xpath 表达式存储在属性文件中,因此可以随时更改。现在我必须处理更多来自遗留系统的 xml 文件,这些文件只会以 4000 字节的块发送 xml 文件。现有处理读取 4000 字节块并将它们存储在 Oracle 数据库中,每个块作为数据库中的一行(对遗留系统进行任何更改或将块存储为数据库中的行的处理是不可能的) .

我可以通过提取与特定 xml 文档相关的所有行并将它们合并,然后使用现有处理(如上所示)来解析 xml 文档,从而构建完整的有效 XML 文档。

但问题是,我需要从 XML 文档中提取的数据将始终位于前 4000 个字节上。这个块当然不是一个有效的 XML 文档,因为它是不完整的,但会包含我需要的所有数据。我不能只解析一个块,因为 JDOM 构建器会拒绝它。

我想知道我是否可以解析格式错误的 XML 块,而不必合并所有部分(可能会达到很多)以获得有效的 XML 文档。这将节省我多次访问数据库来检查一个块是否可用,并且我不必为了能够使用前 4000 个字节而合并 100 个块。

我知道我可能可以使用 java 的字符串函数来提取相关数据,但这可能使用解析器甚至 xpath 吗?还是他们都希望 xml 文档在解析之前是格式良好的文档?

0 投票
3 回答
8734 浏览

java - JDom 使用 XPath

我是 JDom 的新手,我尝试使用 XPath 访问我的 xml 文件。我的代码如下:

我已经导入了 org.jdom.xpath.XPath 类。当我使用 javac 编译该类时,它没有给出任何错误,但是当我尝试运行该程序时,它给出了以下异常消息:

我在这里错过了什么吗?任何帮助将不胜感激!

我在我的主目录下的 .cshrc 文件中添加了 jaxen 和 dom4j,这两个 jar 文件也在同一个目录中。

当我从命令行尝试此命令时,它会生成新的异常......

顺便说一下,我的程序中导入的类是:

0 投票
2 回答
431 浏览

java - 如何使用 JDOM 自动化 XML 解析

我必须使用 JDOM 解析 XML 文件并从他的所有元素中获取一些信息。

因此,对于 element1 来说,这很容易。但是对于element2,我必须通过他的孩子,如果孩子们有孩子,也要通过他们等等。

在这种情况下,您有什么建议,例如递归调用或其他什么,以便我可以使用相同的功能。

谢谢。

0 投票
2 回答
14948 浏览

java - 使用 jdom 设置命名空间

我想在xml中有这种格式:

我正在使用以下代码:

如果我设置命名空间:

然后我得到这个:s

谁能告诉我为什么它不起作用,有没有办法解决这个问题?

谢谢,汉娜

0 投票
3 回答
751 浏览

java - 如何使用 JDOM 解析以下 XML

我有一个如下的 XML 文档:

现在我想在 Java 中使用 jdom 解析上面的 XML。需要注意的一种递归和重要的事情是Question不能是 Question 的直接孩子,同样适用于Answer

0 投票
3 回答
10022 浏览

java - 未知协议:c(JDOM 一个 SAXBuilder)

我正在使用带有 SAXBuilder 的 JDOM 来解析 XML 文件,但我遇到了一个引发此错误的文件问题:

这条线是:

在网上做了一些研究后,我认为这个错误与 Java 1.6 有关。

你怎么看 ?

0 投票
1 回答
980 浏览

xml - JDOM: creating element from string, which contain xml-code

I'm parsing some text input to xml using jdom. It have structure like:

Then, I need a regular w3c.dom object. I'm using this code:

I'm creating element with this code:

Where e is new Element("item")

It works fine, but problem is when in "description" user inserts some xml tags. I'd like to handle it. I have output like:

Is there any way to automaticaly parse those tags when creating Element? From the w3cDoc I'm creating Source with DOMSource and it's needed for further transformation. Maybe there should I replace escaped brackets?

__

dce

0 投票
1 回答
1322 浏览

java - 无法使用 JDOM 和 Xpath 提取 xml 值元素

我有一个方法 (getSingleNodeValue()),当传递一个 xpatch 表达式时,它将提取“doc”中引用的 xml 文档中指定元素的值。假设此时 doc 已被初始化,如下所示,并且 xmlInput 是包含 xml 内容的缓冲区。

当我调用该方法时,我通过以下 xpath xpression

这是方法。它基本上只需要一个 xml 缓冲区并使用 xpath 来提取值:

上述方法总是返回“?” 即没有找到所以'list' 为空。它查看的 xml 文档是

同样的方法适用于其他 xml 文档,所以我不确定这个有什么特别之处。没有例外,所以 xml 是有效的 xml。只是该方法总是将'list'设置为null。有任何想法吗?

编辑

好的,按照建议,这是一个演示上述内容的简单运行程序

当我运行上面的,输出是

编辑

我已经进行了一些进一步的测试,看来如果我删除命名空间 url 它确实有效。还不知道为什么。有什么办法可以告诉它忽略名称空间吗?

编辑

另请注意,以上是在 JDK1.4.1 上实现的,所以我没有更高版本的 JDK 选项。这就是我不得不坚持使用 Jdom 的原因。

0 投票
2 回答
2085 浏览

java - java android将资源文件路径传递给方法参数

我在 res 文件夹下有一个 xml 文件,结构是 res/raw/myfile.xml。现在我使用 JDOM 使用 SAXBuilder.build("raw/myfile.xml"); 解析文件。在 Logcat 中显示它无法打开该文件。我怎样才能做到这一点?有什么建议么?