Java 如何解析xml标记+标记中的文本(简单框架)

Java 如何解析xml标记+标记中的文本(简单框架),java,xml-parsing,tags,simple-framework,Java,Xml Parsing,Tags,Simple Framework,如何在标记简单框架中解析xml标记+文本 我想打印这个 :xliffTestModel=xliffTestModel[attname=hours,g=%1$s,text=hours!!] 我无法解析时间 [XML] [主要代码] XMXliffStringModel xmXliffStringModel = new XMXliffStringModel(); String path = "C:/Users/SEC/Desktop/strings.xml"; Serializer serializ

如何在标记简单框架中解析xml标记+文本

我想打印这个 :xliffTestModel=xliffTestModel[attname=hours,g=%1$s,text=hours!!]

我无法解析时间

[XML]

[主要代码]

XMXliffStringModel xmXliffStringModel = new XMXliffStringModel();
String path = "C:/Users/SEC/Desktop/strings.xml";
Serializer serializer = new Persister();
try {
    xmXliffStringModel = serializer.read(xmXliffStringModel.getClass(), new File(path));
} catch (Exception e) {
    e.printStackTrace();
}
System.out.println(xmXliffStringModel);

内部文本有点棘手,因为Simple不允许文本和子元素一起使用。但请看我的答案,你如何解决这个问题:

其中的关键部分是QuestionConvert类

import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

@Root(name = "resources")
public class XMXliffStringModel {
    @Element(name = "string")
    public XliffTestModel xliffTestModel;

    @Override
    public String toString() {
        return "XMXliffStringModel [xliffTestModel=" + xliffTestModel + "]";
    }

}

import org.simpleframework.xml.Attribute;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Namespace;
import org.simpleframework.xml.Root;

@Root(name = "string")
public class XliffTestModel {

    @Attribute(required = false, name = "name")
    public String attname = "";

    @Namespace(prefix = "xliff")
    @Element(required = false, name = "g")
    public String g;

    @Override
    public String toString() {
        return "XliffTestModel [attname=" + attname + ", g=" + g + "]";
    }

}
XMXliffStringModel xmXliffStringModel = new XMXliffStringModel();
String path = "C:/Users/SEC/Desktop/strings.xml";
Serializer serializer = new Persister();
try {
    xmXliffStringModel = serializer.read(xmXliffStringModel.getClass(), new File(path));
} catch (Exception e) {
    e.printStackTrace();
}
System.out.println(xmXliffStringModel);