1

我有这个 XML 结构:

<album _mngid="1">
  <contentxmlurl>alb_1.xml</contentxmlurl>
  <contentnumber>15</contentnumber>
  <thumb>
      <url>albthumbs/albth_1.jpg</url>
  </thumb>
</album>


  <album _mngid="2">
    <contentxmlurl>alb_2.xml</contentxmlurl>
    <contentnumber>35</contentnumber>
    <thumb>
      <url>albthumbs/albth_2.jpg</url>
    </thumb>
      </album>


  <album _mngid="3">
    <contentxmlurl>alb_3.xml</contentxmlurl>
    <contentnumber>3</contentnumber>
    <thumb>
      <url>albthumbs/albth_3.jpg</url>
    </thumb>
  </album>

我想通过 '_mngid' 属性的 evalue 来订购 di XML 文件,但我有很多问题.. :(

我试过的最好的是: foreach($xml->sortedXPath('collection/album','/@_mngid', SORT_DESC) as $album) {

但我得到这个顺序:1,2,12,3,10,4,14,5,9,6,11,7,13,8,15(在 XML 文件中我现在有 15 个项目)。

你能帮我理解正确的方法吗?

非常非常感谢!再见

4

1 回答 1

0

您正在使用/@_mngid,它对应于根节点。如果要选择当前节点的属性,请使用@_mngid. 例如:

foreach($xml->sortedXPath('collection/album','@_mngid', SORT_DESC) as $album) {
于 2011-02-20T04:47:36.910 回答