如果您不想考虑像开发人员熟悉的东西,我会说几乎总是,假设你有XSLT 2.0或至少是EXSLT,因为XSLT 1.0非常有限(如果你只需要结构转换,1.0就足够了,但如果你需要对内容做任何事情,你想远离1.0). XSLT专门用于转换XML,我发现它比通用编程语言中的XML库更适合该任务.
当然,这都假设您只需要将输入XML转换为其他形式.在现实世界中,需求会发生变化,突然间您不仅需要转换XML,还需要基于它执行某些操作.虽然XSLT是Turing-complete,但它并不是一种通用的编程语言,所以为了面向未来,使用另一种语言可能更安全.不过,我可能会在XSLT中实现第一个版本,因为我发现它更快更容易理解,并且只有在后来证明XSLT不合适的情况下才会考虑其他内容.