- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在将 java 对象序列化为 XML 时遇到问题。我的类(class)如下所示:
@Root(strict = false, name = "Detail")
public class ProductList {
@ElementList(inline = true, entry = "Product")
private List<Product> products;
}
@Root(strict = false)
public class Product {
@Element(name = "ProductCode")
private String productCode;
@Element(name = "ProductPrice")
private double productPrice;
@Element(name = "Currency")
private String currency;
@Element(name = "ConversionRate")
private int conversionRate;
@Element(name = "ProductPoints", required = false)
private int productPoints;
@Element(name = "ProductCount", required = false)
private int productCount;
@Element(name = "ProductName", required = false)
private String productName;
@Element(name = "MinPrice", required = false)
private double minPricet;
@Element(name = "MaxPrice", required = false)
private double maxPricet;
@Element(name = "CanChangePrice", required = false)
private String canChangePrice;
}
下面的 XML 是从服务器发送的,反序列化没有任何问题:
<?xml version="1.0" encoding="UTF-8"?>
<Detail>
<Product>
<ProductCode>0001</ProductCode>
<ProductPrice>0.90</ProductPrice>
<Currency>GEL</Currency>
<ConversionRate>200</ConversionRate>
<ProductName>Bread</ProductName>
<MinPrice>0.9</MinPrice>
<MaxPrice>0.9</MaxPrice>
<CanChangePrice>N</CanChangePrice>
</Product>
<Product>
...
</Product>
</Detail>
我尝试生成具有以下结构的 XML 文档:
<?xml version="1.0" encoding="UTF-8"?>
<Detail>
<Product>
<ProductCode>0001</ProductCode>
<ProductPrice>0.90</ProductPrice>
<Currency>GEL</Currency>
<ConversionRate>200</ConversionRate>
<ProductPoints>180</ProductPoints>
<ProductCount>1</ProductCount>
</Product>
<Product>
...
</Product>
</Detail>
但是我明白了:
<Detail>
<Product>
<ProductCode>0001</ProductCode>
<ProductPrice>0.9</ProductPrice>
<Currency>GEL</Currency>
<ConversionRate>200</ConversionRate>
<productPoints>180</productPoints>
<ProductCount>1</ProductCount>
<ProductName>Bread</ProductName>
<MinPrice>0.9</MinPrice>
<MaxPrice>0.9</MaxPrice>
<CanChangePrice>N</CanChangePrice>
</Product>
<Product>
...
</Product>
</Detail>
标签 <ProductName>
, <MinPrice>
, <MaxPrice>
, <CanChangePrice>
不得包含在序列化的 XML 中。
有什么方法可以告诉框架在序列化时不要包含特定的标签\变量?
最佳答案
您的类成员未初始化为null
,因此required=false
没有not 的效果序列化它们。
int
由 org.simpleframework.xml.transform.IntegerTransform
序列化.这个类的write(Integer)
方法很简单:
public String write(Integer value) {
return value.toString();
}
如您所见,使用了简单的自动装箱。
int
被构造函数初始化为 0
。Integer
。Integer
的String
值为"0"
,不 null
.为您的类(class)成员使用Integer
,而不是int
。
如果您不想序列化某个成员,请不要使用@Element
对其进行注释。简单不是关于“生成”XML,而是关于将实例映射到 XML 或从 XML 映射实例。您要映射的每个成员都需要一个注释。每个带有注释的成员都将被映射。
关于java - 简单的框架。不要将一些变量序列化为xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19468450/
出于好奇,我尝试了一些原型(prototype)制作,但似乎只允许在第一个位置使用子例程的原型(prototype) &。 当我写作时 sub test (&$$) { do_somethin
我需要开发一个类似于 Android Play 商店应用程序或类似 this app 的应用程序.我阅读了很多教程,发现几乎每个教程都有与 this one 类似的例子。 . 我已经开始使用我的应用程
考虑一个表示“事件之间的时间”的列: (5, 40, 3, 6, 0, 9, 0, 4, 5, 18, 2, 4, 3, 2) 我想将这些分组到 30 个桶中,但桶会重置。期望的结果: (0, 1,
我是一名优秀的程序员,十分优秀!