Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XHTML到java转换的最佳方式_Java_Xhtml_Xml Parsing_Jaxb - Fatal编程技术网

XHTML到java转换的最佳方式

XHTML到java转换的最佳方式,java,xhtml,xml-parsing,jaxb,Java,Xhtml,Xml Parsing,Jaxb,我们有一个将xhtml文件转换为java对象的请求(我无法更改源代码来更改格式或类型)。这是关于地址的,如果同一个人在系统中有两个地址,则前三个标记可以为空。将其转换为java对象的最佳方式是什么?jaxb还是其他?你能给我一个简单的例子说明你是如何做到这一点的吗 例如: <table> <tr> <td>john</td> <td>doe</td> <td>1/1/09</td> <td>

我们有一个将xhtml文件转换为java对象的请求(我无法更改源代码来更改格式或类型)。这是关于地址的,如果同一个人在系统中有两个地址,则前三个标记可以为空。将其转换为java对象的最佳方式是什么?jaxb还是其他?你能给我一个简单的例子说明你是如何做到这一点的吗

例如:

<table>
<tr>
<td>john</td>
<td>doe</td>
<td>1/1/09</td>
<td>cincinnati, OH</td>

</tr>

<tr>
<td></td>
<td></td>
<td></td>
<td>Atlanta, GA</td>
</tr>

<tr>
<td>john1</td>
<td>doe1</td>
<td>1/1/89</td>
<td>cincinnati, OH</td>
</tr>
</table>

厕所
雌鹿
1/1/09
辛辛那提,哦
佐治亚州亚特兰大
约翰1
doe1
1/1/89
辛辛那提,哦
以下是一种方法:

输出为:

Fetching so15933614.html...
---------
First Name:john
Last Name:doe
Date:1/1/09
City:cincinnati, OH
---------
First Name:
Last Name:
Date:
City:Atlanta, GA
---------
First Name:john1
Last Name:doe1
Date:1/1/89
City:cincinnati, OH
以下是一种使用以下方法的方法:

输出为:

Fetching so15933614.html...
---------
First Name:john
Last Name:doe
Date:1/1/09
City:cincinnati, OH
---------
First Name:
Last Name:
Date:
City:Atlanta, GA
---------
First Name:john1
Last Name:doe1
Date:1/1/89
City:cincinnati, OH

注意:我是专家组的负责人和成员

您可以使用MOXy的
@XmlPath
扩展按位置映射事物:

@XmlAccessorType(XmlAccessType.FIELD)
public class Person {

    @XmlPath("td[1]/text()")
    private String firstName;

    @XmlPath("td[2]/text()")
    private String lastName;

    @XmlPath("td[3]/text()")
    private String date;

    @XmlPath("td[4]/text()")
    private String city;

}
了解更多信息


注意:我是专家组的负责人和成员

您可以使用MOXy的
@XmlPath
扩展按位置映射事物:

@XmlAccessorType(XmlAccessType.FIELD)
public class Person {

    @XmlPath("td[1]/text()")
    private String firstName;

    @XmlPath("td[2]/text()")
    private String lastName;

    @XmlPath("td[3]/text()")
    private String date;

    @XmlPath("td[4]/text()")
    private String city;

}
了解更多信息


使用XML解析器解析数据并将其填充到java对象中?这里有一个特定的问题吗?我的直觉是,没有现成的库可以将这个XHTML转换为Java对象(节点与属性名无关),看起来SAX解析是你最好的选择。在进行SAX解析和手动映射之前,你可以使用类似HTMLB的工具来查询它。我想检查一下我是否可以做类似于Jaxb XML解析的事情。(Jaxb.unmarshal)使用XML解析器解析数据并将其填充到java对象中?这里有一个特定的问题吗?我的直觉是,没有现成的库可以将这个XHTML转换为Java对象(节点与属性名无关),所以看起来SAX解析是最好的选择。在进行SAX解析和手动映射之前,您可以使用类似HTMLB的工具来查询它。我想检查一下是否可以执行类似于Jaxb XML解析的任何操作。(Jaxb.unmarshal)这个解决方案听起来也不错,但对于我们的req来说,它不起作用,因为我们在这个文件中得到了标记,这告诉我们数据的顺序。这是一个新的变化。这个解决方案听起来也不错,但对于我们的req来说,它不起作用,因为我们在这个文件中得到了标记,这告诉我们数据的顺序。这是一个新的变化。