创建xml文档:内联与模板语言

问题描述

| 创建XML文档时,我使用Perl,但是这个问题与语言无关。大多数人似乎使用XML :: Writer或XML :: LibXML之类的工具来完成此任务。看起来像这样:
my $writer = XML::Writer->new();
my $type = \"fancy\";
$writer->startTag(\"pants\");
$writer->characters($type);
$writer->endTag(\"pants\");
我有点讨厌感觉就像是您作为初学者Web开发人员创建的第一个网页,因为您尚未了解MVC,因此将所有HTML,CSS和PHP代码混合在同一文件中。每个人都认为这很糟糕,我们应该将所有内容分开,并尝试尽可能地使语言分开。如果没有别的,它可以提高可读性。 那么,为什么可以将XML放入我们的Perl代码中呢?我的想法是像使用HTML一样使用Template :: Toolkit。所以它看起来像这样:
 <pants>
     [% type %]
 <pants>
之后,我可以将结果插入XML :: LibXML并验证字符串。 但是我不认为有人这样做。为什么不?我想念什么吗?     

解决方法

        我已经将Template :: Toolkit用于XML。我还使用了更具编程性的XML :: Writer样式方法。 如果您有一个固定的XML结构,只是要填充数据,并且已经有了Template :: Toolkit,那么对XML使用TT模板就很有意义了。在这种情况下使用模板可能会使正确匹配所需模式变得容易得多。但是,当然,要注意对XML而不是HTML进行正确的转义和编码。 如果您正在以编程方式将任意结构化数据转换为XML,那么XML :: Writer可能是一个更好的选择:如果您没有固定的架构,那么就没有模板可言。 XML通常用作可移植数据序列化格式。原型示例从一些嵌套的HoHoA数据结构开始,然后通过通用的序列化接口将其转换为XML。序列化系统仅具有要遍历的数据结构,因此没有要模板的结构。 而且,即使有更好的方法,人们也倾向于使用他们学习的第一种技术。我猜想大多数人会首先使用XML进行数据序列化(而不是结构化文档存储),因此即使模板方法更干净,他们仍会继续使用序列化技术。 所有这些(甚至第一段)同样适用于JSON(甚至HTML)。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...