簡體   English   中英

如何在標簽中使用XML解析標簽+文本(簡單框架)

[英]How to xml-parsing tag+text in tag (simple-framework)

如何在標簽(簡單框架)中使用XML解析標簽+文本http://simple.sourceforge.net/resources.php

我要打印這個
:xliffTestModel = XliffTestModel [attname = hours,g =%1 $ s,text = hours !!]

我無法解析“小時!”

[XML]

<?xml version="1.0" encoding="utf-8"?>

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

    <string name="hours">
        <xliff:g id="hours">%1$s</xliff:g> hours!!
    </string>

</resources>


這是我的代碼。

[模型]

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);

內部文本有些棘手,因為“簡單”不允許文本和(子元素)一起使用。 但是請在這里查看我的答案,如何解決此問題:

https://stackoverflow.com/questions/17462970/simpleframwork-xml-element-with-inner-text-and-child-elements/17496648#17496648

關鍵部分是QuestionConvert類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM