Java:如何将从数据库返回的字符串转换为 XML

标签 java xml string object

我正在尝试编写一个方法来访问数据库,然后以 XML 格式返回字符串/对象,这是我迄今为止所拥有的方法。我看过 POJO,但我不相信这就是我要找的东西。我需要循环并检索每个 xml 子节点。然后以正确的格式显示它。

15  public Object getAppointment(String patientid){
16       DB db = new DB();
17       List<Object> objs = db.getData("Appointment", "patientid='"+patientid+"'");
18       Patient patient = null;
19       Phlebotomist phleb = null;
20       PSC psc = null;
21       for (Object obj : objs){
22           patient = ((Appointment)obj).getPatientid();
23           phleb = ((Appointment)obj).getPhlebid();
24           psc = ((Appointment)obj).getPscid();
25           return obj;
26       }
27       return "";
28    }

我需要以 XML 格式创建 obj 变量,但我无法弄清楚。这是它现在返回的内容。

Appointment[id=710, Date: 2004-02-01, Time: 13:00:00
Phlebotomist: Phlebotomist[id=110, Name: Elizabeth Corday]
Patient: Patient[id=220, Name: Alice Wonderland, Address: 201 Mt. Hope Avenue, Insurance? Y, DOB: 1985-10-12
Physician: Physician[id=20, Name: Dr. Fine]]
PSC: PSC[id=510, name= Outer Banks]]
Test: AppointmentLabTest[appointmentLabTestPK=AppointmentLabTestPK[apptid=710, labtestid=86900, dxcode=292.9]
Lab Test: LabTest[id=86900, Name: Blood Group & Rh Type, whole BloodCost: 15.0]
Diagnosis: Diagnosis[code=292.9, Name: Caffeine – Related Disorder NOS]] 

当它从数据库返回时,我需要它看起来像这样。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<AppointmentList>
    <appointment date="2016-12-30" id="791" time="10:00:00">
        <patient id="220">
            <name>Alice Wonderland</name>
            <address>201 Mt. Hope Avenue</address>
            <insurance>Y</insurance>
            <dob>1985-10-12</dob>
        </patient>
        <phlebotomist id="110">
            <name>Elizabeth Corday</name>
        </phlebotomist>
        <psc id="520">
            <name>Down Town</name>
        </psc>
        <allLabTests>
            <appointmentLabTest apptointmentId="791" dxcode="307.3" labTestId="86609"/>
            <appointmentLabTest apptointmentId="791" dxcode="292.9" labTestId="86900"/>
        </allLabTests>
    </appointment>
</AppointmentList> 

最佳答案

查看此问题:Binding XML using POJO and JAXB annotations

您可以创建自定义 POJO 并使用 JAXB 对其进行注释以获得所需的输出

关于Java:如何将从数据库返回的字符串转换为 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33617956/

相关文章:

java - 关于寻找链表的中间元素

Java模块: accessibility problems for Mockito 2. 20.0

java - 我应该注入(inject)每个类或特定类吗?

java - 将不对称 XML 拆分为多个 XML

xml - 为什么我会得到以及如何从有关我的唯一字段的 solr 结果中删除重复项?

java - Java中的美元货币格式

java - RMI 如何添加库(并授予它们套接字权限)

sql - 使用 FOR XML 对 2 个 sql 表进行分组

java - 使用 char 而不是 String 的要点

java - 在 Java 中连续计算字符