2011-05-30 102 views
2

我需要从多个xml文件中检索元数据。 xml文件的结构如下:从xml文件中检索元数据

<songs> 
<song_title> some title </song_title> 
<classification> some classification </classification> 
<song_text> some text </song_text> 
<singer> 
    <sing> singer's name </sing> 
    <gender> gender </gender> 
    <bornYear> year </bornYear> 
    <livePlace> live place </livePlace> 
    <liveArea> live area </liveArea> 
    </singer> 
</songs> 

用户选择搜索条件 - 现场或现场区域。然后他输入他搜索的地点或地区的名称。我需要找到并显示歌曲的链接,歌曲的元数据中包含用户输入的地点或区域。我使用.NET 3.5

回答

1

这个答案更是一个指针......

您可以使用LINQ to XML来完成这个任务。

什么是LINQ to XML?

的LINQ to XML是一个支持LINQ的, 内存XML编程接口 ,使您能够以XML从 的.NET Framework编程语言 内工作。

LINQ to XML就像文档 对象模型(DOM),它将 XML文档带入内存。您可以在 查询和修改文件,并 修改后,您可以将其保存到 一个文件或序列化它并通过互联网发送它 。然而,LINQ到 XML从DOM不同:它提供了一个 新的对象模型,它是轻 的重量和更容易使用,并 这需要语言的优势 改进在Visual C#2008

你可以然后搜索并使用类似于下面的示例LINQ查询表达式操作任何XML文档元素:

IEnumerable<XElement> partNos = 
from item in purchaseOrder.Descendants("Item") 
where (int) item.Element("Quantity") * 
    (decimal) item.Element("USPrice") > 100 
orderby (string)item.Element("PartNumber") 
select item;