2011-06-08 78 views
1

我有一堆元素的XML文檔,每個包含時間戳屬性:如何選擇最近的元素?

<?xml version="1.0" encoding="UTF-8"?> 
<dfs:myFields xmlns:dfs="<url>"> 
    <dfs:dataFields> 
     <dfs:yobeans Title="test1.xml" Modified="2011-06-07 10:03:52"/> 
     <dfs:yobeans Title="test2.xml" Modified="2011-06-07 10:43:17"/> 
     <dfs:yobeans Title="test3.xml" Modified="2011-06-07 10:43:27"/> 
     <dfs:yobeans Title="test4.xml" Modified="2011-06-07 11:42:27"/> 
     <dfs:yobeans Title="test5.xml" Modified="2011-06-07 11:42:38"/> 
     <dfs:yobeans Title="test6.xml" Modified="2011-06-07 11:42:47"/> 
    </dfs:dataFields> 
</dfs:myFields> 

是否可以使用XPath 1.0來選擇最近的元件?我看到有些人聲稱他們用字符串比較方式做了某事,但沒有具體說明。

+1

看着你的XML不是最近的第一個嗎? – 2011-06-08 13:03:51

+0

是的,但不幸的是,我不能指望總是如此。其中一些可能會在創建後被修改。 – enthdegree 2011-06-08 13:19:36

+0

想法:如果我從他們那裏刪除了所有的'',' - '和':'並將它們排序,那麼該怎麼辦? XPath 1.0打字很弱,對吧? – enthdegree 2011-06-08 14:46:57

回答

0

如果日期格式爲yyyy-mm-dd格式,時間格式爲24小時格式,並且在任何地方都使用前導零,則文本將按照日期時間順序進行排序。

+0

那麼這是否意味着即使時間戳在實際xml中的順序不正確,我也可以抓住第一個元素? – enthdegree 2011-06-08 13:20:04

+0

不,它沒有。我只是測試它,它不起作用。 – enthdegree 2011-06-08 14:16:41

+0

不需要排序。我只是指出,如果日期時間與文本配置正確,他們會正確排序:您仍然必須對它們進行排序。以下是一篇Microsoft文章:http://msdn.microsoft.com/en-us/library/system.xml.xpath.xpathexpression.addsort%28VS.71%29.aspx – 2011-06-08 15:49:19