用于 java 的 LXML E 构建器?

发布于 2024-08-26 15:53:08 字数 506 浏览 4 评论 0 原文

我非常喜欢 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 是否有与这种用法几乎相同的东西?

There is one thing I really love about LXML, and that the E builder. I love that I can throw XML together like this:

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

To make:

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

As opposed to the painstaking way DOM works.

I am going to be moving a bunch of my software to Java soon and it is very very heavy on its usage of E. Does Java have anything near equivalent to that usage?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巴黎盛开的樱花 2024-09-02 15:53:08

使用纯 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')
  }
}

will be hard with pure Java, but if you can use Groovy in your projects then you could use the MarkupBuilder which comes very close to what you're asking for

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')
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文