Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中将属性转换为标记_Java_Xml_Xstream - Fatal编程技术网

在java中将属性转换为标记

在java中将属性转换为标记,java,xml,xstream,Java,Xml,Xstream,可能重复: 我想将xml属性转换为标记。例如,使用XStream <root> <abc attr1="aaa" attr2="bbb"/> </root> 到 aaa bbb 任何指针都会有帮助。只要使用XStream,就不可能直接转换它。如果要使用XStream,则必须创建与XML元素对应的类 [阅读] XStream xs = new XStream(new DomDriver()); xs.alias("roo

可能重复:

我想将xml属性转换为标记。例如,使用XStream

    <root>
       <abc attr1="aaa" attr2="bbb"/>
    </root>


aaa
bbb

任何指针都会有帮助。

只要使用XStream,就不可能直接转换它。如果要使用XStream,则必须创建与XML元素对应的类

[阅读]

XStream xs = new XStream(new DomDriver());
xs.alias("root", ParentElement.class);
xs.useAttributeFor(ChildElement.class, "aaa"); // read as attribute
xs.useAttributeFor(ChildElement.class, "bbb");

ParentElement parent = new ParentElement();
try {
    FileInputStream fis = new FileInputStream("readfile");
    xs.fromXML(fis, parent);
} catch (FileNotFoundException ex) {
    ex.printStackTrace();
}
[写作]

ChildElement element = new ChildElement();
element.setAttr1("aaa");
element.setAttr2("bbb");

ParentElement parent = new ParentElement();
parent.setChildElement(element);

XStream xs = new XStream();
xs.alias("root", ParentElement.class);

try {
    FileOutputStream fs = new FileOutputStream("writefile");
    xs.toXML(parent, fs);
} catch (FileNotFoundException e1) {
    e1.printStackTrace();
}
[父元素]

public class ParentElement {
    private ChildElement abc;
    public void setChildElement(ChildElement child) {
        this.abc = child;
    }
}
[儿童元素]

public class ChildElement {
    private String attr1;
    private String attr2;

    public String getAttr1() {
        return attr1;
    }
    public void setAttr1(String attr1) {
        this.attr1 = attr1;
    }

    public String getAttr2() {
        return attr2;
    }
    public void setAttr2(String attr2) {
        this.attr2 = attr2;
    }
}

XStream不是此作业的工具。XStream是一个对象绑定框架。这是XSLT的工作。我从未使用过XSLT,如果您有任何示例链接,请给我指一下。Google for
XSLT“将属性转换为元素”
,这与为什么不使用XOM完全相同?更容易理解:)。只要我的两分钱。
public class ChildElement {
    private String attr1;
    private String attr2;

    public String getAttr1() {
        return attr1;
    }
    public void setAttr1(String attr1) {
        this.attr1 = attr1;
    }

    public String getAttr2() {
        return attr2;
    }
    public void setAttr2(String attr2) {
        this.attr2 = attr2;
    }
}