我对 xstream 很陌生。考虑一段xml:
<?xml version="1.0"?>
<els>
<el attInt="3" attDbl="1.34525"/>
</els>
我需要将 attDbl 属性转换为按 attInt 指定的位数移动小数点。我看不到如何使用转换器来做到这一点,因为我似乎无法访问转换器界面中的这两个属性。这是我可以用转换器做的事情,还是我应该为此目的使用 xslt?
谢谢你的帮助
我对 xstream 很陌生。考虑一段xml:
<?xml version="1.0"?>
<els>
<el attInt="3" attDbl="1.34525"/>
</els>
我需要将 attDbl 属性转换为按 attInt 指定的位数移动小数点。我看不到如何使用转换器来做到这一点,因为我似乎无法访问转换器界面中的这两个属性。这是我可以用转换器做的事情,还是我应该为此目的使用 xslt?
谢谢你的帮助
在“el”级别运行的转换器确实可以通过reader
参数访问这两个属性:
public class ElConverter implements Converter {
@Override
public Object unmarshall(HierarchicalStreamReader reader, UnmarshallingContext context) {
int attInt = Integer.parseInt(reader.getAttribute("attInt"));
double attDbl = Double.parseDouble(reader.getAttribute("attDbl"));
...
}
@Override
public boolean canConvert(Class type) {
return El.class.isAssignableFrom(type);
}