簡體   English   中英

在Java中按模板解析文檔

[英]Parse document by template in Java

是否有任何現成的java庫,給定一個模板,可以讀取符合該模板的xml文件並將其值解析為Java類? 作業速度的排序確實如此,但方向相反。

例如,給出以下模板

<person>
  <name>${person.name}</name>
  <age>${person.age}</age>
</person>

和輸入文件

<person>
  <name>John</name>
  <age>20</age>
</person>

它可以將其價值讀入課堂

class Person {
    public String name;
    public Integer age;
}

更新:以上示例旨在顯示一般概念,與序列化無關。 真實示例還可以具有與不同Java對象相關的字段對應的元素和屬性,並且輸入文件可以具有不能用於使用位於不同XML元素的不同屬性上的值來反序列化對象的結構。 所以這不是序列化問題。

您可能也想查看Apache Digester: http//commons.apache.org/proper/commons-digester/guide/core.html - 這不使用模板方法,但它看起來非常適合這里說的問題。

(原來是評論:但是OP表示這為他們提供了一個可行的解決方案 - 所以轉而回答)

另一個好的XML序列化器/解串器是Simple

File source = new File("person.xml");
Person person = serializer.read(Person.class, source);

您確定需要模板嗎? 也許只是從XML到Object的序列化就足夠了,那么你可以試試XStream http://x-stream.github.io/tutorial.html

暫無
暫無

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

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