3
如何刪除XML文檔中屬性的重複值?使用LINQ刪除XML文檔中的重複值
這是一個示例XML有1複製的「名稱」值3 Ways - Fake Love
:
<?xml version="1.0" encoding="Windows-1252"?>
<!--MasterMusik Song Database-->
<Songs>
<Song><Name>3 Ways - Fake Love</Name><Year>2000-2006</Year><Genre>Dance</Genre><Bitrate>128</Bitrate><Length>03:50</Length><Size>3,51</Size></Song>
<Song><Name>3 Ways - Fake Love</Name><Year>2000-2006</Year><Genre>Dance</Genre><Bitrate>128</Bitrate><Length>03:50</Length><Size>3,51</Size></Song>
<Song><Name>A7 - Piece Of Heaven</Name><Year>2000-2006</Year><Genre>Dance</Genre><Bitrate>128</Bitrate><Length>03:27</Length><Size>3,17</Size></Song>
</Songs>
有了這個功能,我用自己的「名稱」值的XML元素進行排序,也是我嘗試使用刪除重複的名字Distinct
方法,但什麼都不做。
Private Function Sort_XML_By_Element(ByVal XML As XDocument, _
ByVal Root_Element As String, _
ByVal Element_to_sort As String) As XDocument
Dim xdoc As XDocument
xdoc = XML
xdoc.Root.ReplaceNodes(XML.Root.Elements(Root_Element) _
.OrderBy(Function(sort) sort.Element(Element_to_sort).Value).Distinct)
Return xdoc
End Function