1

我对 xstream 很陌生。考虑一段xml:

<?xml version="1.0"?>
<els>
    <el attInt="3" attDbl="1.34525"/>
</els>

我需要将 attDbl 属性转换为按 attInt 指定的位数移动小数点。我看不到如何使用转换器来做到这一点,因为我似乎无法访问转换器界面中的这两个属性。这是我可以用转换器做的事情,还是我应该为此目的使用 xslt?

谢谢你的帮助

4

1 回答 1

1

在“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);
    }
于 2013-08-04T16:21:32.250 回答