gpt4 book ai didi

java - 解码 XML

转载 作者:行者123 更新时间:2023-12-02 12:02:07 30 4
gpt4 key购买 nike

我正在尝试解码现有的 xml 文件,以便我可以正确处理数据,但 XML 结构看起来很奇怪。下面是 xml 示例以及我创建的对象。

<?xml version="1.0" encoding="UTF-8"?> 
<Record>
<identifier>11</identifier>
<TotalRecords>266</TotalRecords>
<ListOfSections>
<SECTION>AA1001</SECTION>
<ListOfStudents>
<SequenceNumber>11</SequenceNumber>
<RecordCount>1</RecordCount>
<StudentId>201614354</StudentId>

</ListOfStudents>

<SECTION>AA1002</SECTION>
<ListOfStudents>
<SequenceNumber>15</SequenceNumber>
<RecordCount>1</RecordCount>
<StudentId>201614356</StudentId>

<SequenceNumber>16</SequenceNumber>
<RecordCount>2</RecordCount>
<StudentId>201614355</StudentId>
</ListOfStudents>
</ListOfSections>
</Record>

下面是我的java类(class)。为了便于阅读,我刚刚删除了变量。

@XmlRootElement
public class Record {

@XmlElement(name = "TotalRecords")
public Integer getTotalNoOfRecords() {
return totalNoOfRecords;
}

@XmlElement(name = "ListOfSections")
public List<Section> getSectionList() {
return sectionList;
}
}


@XmlRootElement
public class Section {

@XmlElement(name = "SECTION")
public String getSection() {
return section;
}

@XmlElement(name = "ListOfStudents")
public List<Student> getStudentList() {
return studentList;
}
}


@XmlRootElement
public class Student {

@XmlElement(name = "SequenceNumber")
public Integer getSequenceNumber() {
return sequenceNumber;
}

@XmlElement(name = "RecordCount")
public Integer getRecordCount() {
return recordCount;
}

@XmlElement(name = "StudentId")
public Integer getStudentId() {
return studentId;
}
}

我试图获取 ListOfSections 标签内的所有记录,但我只获取最后一个部分,即 AA1002。

对于 ListOfStudents,我只获取第一条记录,在我的例子中,我只获取序列号为 15 的记录

<SequenceNumber>12</SequenceNumber>
<RecordCount>2</RecordCount>
<StudentId>201614355</StudentId>

最佳答案

这个简化的代码适用于您的 xml,它应该提示您在哪里查找问题:

class Record {
@XmlElementWrapper(name="ListOfSections")
@XmlElement(name="SECTION")
List<String> listOfSections;
}

这里如何运行:

    Record r = JAXB.unmarshal(new File("1.xml"), Record.class);
System.out.println(r.listOfSections);

结果:

[AA1001, AA1002]

关于java - 解码 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47172872/

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