gpt4 book ai didi

java - AXIOM 中的 OMNode 和 OMElement 有什么区别

转载 作者:行者123 更新时间:2023-11-30 09:18:27 26 4
gpt4 key购买 nike

AXIOM 中的 OMNode 和 OMElement 有什么区别和用法?我已经实现了一个 XML 解析器,并且在实现中使用了这两个对象。 OMElement 是 OMNode 的子类吗?

举个例子,两者的行为方式相同:看看这个

//OMElement
OMElement omElement = nodeElement;
String attributeValue = ((OMElementImpl) omElement).getText();

//OMNode
OMNode omNode = nodeElement;
String attributeValue = ((OMElementImpl) omNode).getText();

都支持casting并且方式相同

最佳答案

首先,您的代码引用了OMElementImpl。你不应该那样做。正如类的名称(以及包含该类的包的名称)所示,这是一个不应在应用程序代码中直接使用的实现类。无论如何,转换为 OMElementImpl 是无用的,因为 getText 方法是由 OMElement 接口(interface)定义的。

要回答这个问题,是的,OMElement 扩展了 OMNode,如您在 Javadoc 中所见:

http://ws.apache.org/axiom/apidocs/org/apache/axiom/om/OMElement.html

顾名思义,OMElement 表示一个 XML 元素。另一方面,OMNode 由表示 XML 信息项的所有 Axiom 类实现,该信息项可以是另一个信息项(例如注释、文本节点、处理指令等)的子项。

关于java - AXIOM 中的 OMNode 和 OMElement 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18484615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com