java - XmlMapper 用重复元素编写 XML
问题描述
我正在使用 XmlMapper 使用 POJO 编写 XML 文件。我希望我的 xml 看起来像:
<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
<section name="introduction">
<paragraph>
<word>1</word>
<word>2</word>
</paragraph>
<paragraph>
<word>3</word>
<word>4</word>
<paragraph>
</section>
<section name="abstract">
<paragraph>
<word>1.1</word>
<word>2.1</word>
</paragraph>
<paragraph>
<word>3.1</word>
<word>4.1</word>
<paragraph>
</section>
</document>
我在我的 pojo 中使用了以下代码,它列出了一个列表。每个列表都是一个段落。
@JacksonXmlElementWrapper(localName = "paragraph")
@JacksonXmlProperty(localName = "word")
public List<List<String>> getParagraph()
{
List<List<String>> paragraphList = new ArrayList<List<String>>();
String[] splited = sectionText.split("\n");
for (String paragraph : splited)
{
String[] splittedWords = paragraph.split("\\s+");
paragraphList.add(Arrays.asList(splittedWords));
}
return paragraphList;
}
但这给了我以下输出:
<?xml version="1.0" encoding="ISO-8859-1"?>
<document>
<section name="introduction">
<paragraph>
<word>1</word>
<word>2</word>
<word>3</word>
<word>4</word>
<paragraph>
</section>
<section name="abstract">
<paragraph>
<word>1.1</word>
<word>2.1</word>
<word>3.1</word>
<word>4.1</word>
<paragraph>
</section>
</document>
我需要在每个列表结束后放置段落标识符。我可以使用列表以外的其他东西吗
解决方案
(更新后)...看起来您错过了需要Paragraph
Pojo 的一点。
那么你的 Section
Pojo 必须有一个List<Paragraph>
属性,而Paragraph
Pojo 必须有一个List<Word>
属性
推荐阅读
- android - 如何强制BottomNavigationView标签为多行
- python - 如何使用来自 statsmodels 的 linear_model.OLS 使用 LinearRegression 预测数据
- spss - SPSS让我'设置为由于溢出而丢失的系统'
- c - 如何使用双指针从文本文件中填充字符串数组?
- amazon-web-services - 已准备好 TLS 证书、Route53、ALB 和 EC2,但浏览器阻止了我网站的一部分以获取混合内容
- python - 使用 rdd 循环的 Pyspark 数据帧花费了太多时间
- reporting-services - SSRS如何冻结列表内矩阵的列和行
- php - 是什么导致 PHP PDO 插入语句期间出现未捕获的错误
- ios - 使用 Android Studio 在 iOS 模拟器上运行 Flutter 项目
- python - PySpark 将 df 写入 csv,“列表索引超出范围”