PHP(或其他 linux 友好)等效于 .Net System.Xml.Linq

Posted

技术标签:

【中文标题】PHP(或其他 linux 友好)等效于 .Net System.Xml.Linq【英文标题】:PHP (or other linux friendly) equivalent to .Net System.Xml.Linq 【发布时间】:2010-10-31 03:12:00 【问题描述】:

我最近一直在使用 .net 中的 xml.linq 类。但可能需要为即将进行的项目使用 linux 友好的语言。

我最喜欢的东西是

    Xdocument,能够从 文件或从字符串解析 XElement,快速创建自定义 页面特定数据的结构 穿越的孩子,父母, 兄弟姐妹等 Xml.Linq 一般获取和 通过设置值 Variable.Element("elementName").value() for Variable.Descandants("elementName").value() 更不用说属性添加 后代和所有其他人 内置的好东西。

所以我的问题是。是否有另一种语言为 xml 内置了这些类型的功能?我想避免手动解析并具有动态生成 xml 的灵活性。

额外问题:其他语言是否具有类似于 Linq to Xml 的功能,用于查询 xDocument/xelement 等效项。

【问题讨论】:

【参考方案1】:

Python 中的 LINQ 示例

http://themechanicalbride.blogspot.com/2007/03/linq-to-python.html

但是这篇博客阐明了为什么不需要这样做:

PHP 中的 LINQ

http://phplinq.codeplex.com/

关于 LINQ 和类似事物的有趣观点

http://mail.python.org/pipermail/python-3000/2006-November/004575.html

听起来很有趣。但在 FOSS 场景中,似乎对这种事情有点抗拒(我可能是错的)。

Python 中有大量的 XML 例程,例如 XPath、XSLT 等。

How to use Xpath in Python?

使用这些标准并远离 LINQ 可能是值得的,因为我看不到稳定的替代方案...... 但有些东西是功能性的,但理念不同

【讨论】:

不用担心。不想听起来居高临下……但要保持开放的心态。通常,以 FOSS 为中心的系统在设计和实施方面有不同的理念,可以扩展您的视野。 我乐于尝试新事物。您提供的 Python 链接看起来非常有趣,我想尝试一些不需要我在 Mac 上运行 VM 的东西。但是即使像 ElementTree 和 lxml 等一样强大......我正在使用 linq 做的事情真的让我大吃一惊,而且我还没有看到另一种语言做得那么好。我将把这个问题留几天,试图获得更多的意见......但到目前为止,这是一个非常可靠的答案。 您应该能够安装 OSX 原生的所有 Python 东西(可能包括 Python 2.5.x)

以上是关于PHP(或其他 linux 友好)等效于 .Net System.Xml.Linq的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 等效于 C# LINQ 或其他获取数据的方式 [关闭]

使 JavaScript 正则表达式等效于 PHP 正则表达式

等效于 .NET 的 Twitter Thrift API

等效于 Linux 上的 GetTickCount()

等效于其他浏览器中的`-moz-element`?

.Net 和/或单声道是不是有等效的 ccache 或 distcc