вы можете использовать предопределенный Конвертер.
@XStreamAlias("node")
@XStreamConverter(value=ToAttributedValueConverter.class, strings={"text"})
class Node {
private String att;
private String text;
}
Учебное пособие XStream Annotations также говорит, что для атрибута att :
Обратите внимание, что аннотации XStreamAsAttribute не нужны. Конвертер предполагает это неявно.
blockquote>
При адаптации комментария Брайана Нила следующее будет работать, только если оператор <<
определен для объекта в std :: vector
(в этом примере std :: строка
).
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <iterator>
// Dummy std::vector of strings
std::vector<std::string> sentence;
sentence.push_back("aa");
sentence.push_back("ab");
// Required std::stringstream object
std::stringstream ss;
// Populate
std::copy(sentence.begin(), sentence.end(),std::ostream_iterator<std::string>(ss,"\n"));
// Display
std::cout<<ss.str()<<std::endl;
Если тип элемента вектора поддерживает оператор <<, в качестве варианта может использоваться что-то вроде следующего:
std::vector<Foo> v = ...;
std::ostringstream s;
std::copy(v.begin(), v.end(), std::ostream_iterator<Foo>(s));