【发布时间】:2011-07-20 18:16:57
【问题描述】:
更新信息:
之前,我问过如何根据每个元素的多个属性对 XML 进行排序。那里的答案是有效的(这就是我创建一个新问题的原因),但我发现我的 PHP 版本没有安装 XSLT 库,并且我的 IT 不会安装它。
我找到了一种使我的 XML 成为关联数组的方法,但排序似乎真的很乏味。
另外,我有几个级别的排序(大约 6 个);由于有这么多,我无法实现下面的其他答案。
那么,我的最后一个问题是:是否可以在不使用 XSLT 的情况下对 XML 进行排序?每次我用谷歌搜索时,所有网站都会展示如何使用 XSLT...
再次感谢大家!
OLD INFO::::::我在 DOM 和 XSL 之间进行了大量研究,但似乎无法找到对多个元素进行排序的方法。我已经使用 DOM 成功生成了我的 XML,但现在我想根据多个值进行排序。
我希望在<item> 下再有一个孩子,可能标题为<Priority>,或者我可以把它放在<item priority=__> 中
为简单起见,这是我正在尝试做的一个简化版本:
XML 事先:
<root>
<item>
<attr1>2</attr1>
<attr2>50</attr2>
</item>
<item>
<attr1>1</attr1>
<attr2>100</attr2>
</item>
<item>
<attr1>2</attr1>
<attr2>10</attr2>
</item>
<item>
<attr1>2</attr1>
<attr2>50</attr2>
</item>
<item>
<attr1>1</attr1>
<attr2>75</attr2>
</item>
<item>
<attr1>2</attr1>
<attr2>1</attr2>
</item>
</root>
我想找到一种方法,先在 attr1 上进行排序,如果它们相同,然后在 attr2 上排序。正如我之前所说,我不关心如何排序,也不关心我们是否在 <item priority = ___> 之类的元素中使用该属性、每个 <item> 的新元素或全新的 xml 文件。我很迷茫,不知道下一步该做什么;到目前为止,我一直在使用 PHP,但可以切换到其他东西。提前致谢!
【问题讨论】: