用于Java的LXML E构建器?

时间:2010-03-26 13:52:04

标签: java python lxml

我真的很喜欢LXML和E构建器。我喜欢我可以像这样抛出XML:

message = E.Person(
  E.Name(
    E.First("jack")
    E.Last("Ripper")
  )
  E.PhoneNumber("555-555-5555")
)

制作:

<Person>
  <Name>
    <First>Jack</First>
    <Last>Ripper</Last>
  </Name>
  <PhoneNumber>555-555-5555</PhoneNumber>
</Person>

与DOM工作的艰苦方式相反。

我将很快将一堆软件转移到Java上,并且它对E的使用非常沉重.Java是否有与此用法相近的东西?

1 个答案:

答案 0 :(得分:2)

对于纯Java会很难,但是如果你可以在你的项目中使用Groovy那么你可以使用MarkupBuilder,它非常接近你的要求

def xml = new MarkupBuilder(writer)
xml.records() {
  car(name:'HSV Maloo', make:'Holden', year:2006) {
    country('Australia')
    record(type:'speed', 'Production Pickup Truck with speed of 271kph')
  }
}