【发布时间】:2016-06-20 10:50:37
【问题描述】:
我正在处理需要将 xml 文件映射到基于 java 的对象的项目。
我搜索了一下,发现 JAXB 是用于将 XML-Java 映射回 XML 的标准库。
我正在开发部署了许多 XML 格式的数据源文件的应用程序。我想在运行时从这个 XML 文件中找出某些属性。下面给出了一个这样的 XML 文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns="http://www.jboss.org/ironjacamar/schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.jboss.org/ironjacamar/schema http://docs.jboss.org/ironjacamar/schema/datasources_1_0.xsd">
<datasource jndi-name="java:jboss/datasources/FDMS_DemoDS" pool-name="FDMS_DemoDS">
<connection-url>jdbc:mysql://localhost:3306/demo?zeroDateTimeBehavior=convertToNull</connection-url>
<driver>com.mysql</driver>
<pool>
<max-pool-size>60</max-pool-size>
</pool>
<security>
<user-name>fduser</user-name>
<password>fdms!</password>
</security>
</datasource>
</datasources>
现在我想使用 Java 从上面的 XML 文件中获取 max-pool-size 和 connection-url。我尝试使用 JAXB,但不幸的是我遇到了一些问题。
谁能帮我将这些 XML 映射到 Java 对象?
【问题讨论】:
-
您可以使用简单的 xml 解析器,如 JAXP、STAX 来获取这些值,而不是使用 JAXB
-
@Sanjeev 感谢您的快速回复。我只是不想检索值,但还需要将其映射到 Java 对象并进一步使用该对象。
-
JAXB 是要走的路,或者如果你愿意,你也可以使用 xmlbeans。在这两种情况下,您都需要提出一个可以解释您的问题的工作示例。目前您的问题是开放式的。
-
I tried using JAXB but unfortuantely I am facing some issues.- 有什么问题? -
unexpected element (uri:"http://www.jboss.org/ironjacamar/schema", local:"datasources"). Expected elements are <{}datasources>等问题即将出现
标签: java xml dom jaxb saxparser