我对 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);
    }