从 xml 文件中检索元数据

发布于 2024-11-10 12:21:33 字数 624 浏览 3 评论 0 原文

我需要从多个 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

I need to retrieve metadata from multiple xml files. The structure of the xml file is the following:

<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>

The user chooses the search criteria - live place or live area. Then he enters the name of the place or area, that he searches for. I need to find and display links to songs, which have in its metadata the place or area, that user has entered. I am using .NET 3.5

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜宝宝 2024-11-17 12:21:33

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

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

什么是 LINQ to XML?

LINQ to XML 是一个支持 LINQ 的、
内存中 XML 编程接口
使您能够使用 XML
在 .NET Framework 中编程
语言。

LINQ to XML 就像文档
对象模型(DOM),它带来了
将 XML 文档存入内存。你可以
查询和修改文档,以及
修改后可以保存到
文件或将其序列化并发送
通过互联网。然而,LINQ to
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;

This answer is more of a pointer...

You can use LINQ to XML to accomplish this task.

What Is LINQ to XML?

LINQ to XML is a LINQ-enabled,
in-memory XML programming interface
that enables you to work with XML from
within the .NET Framework programming
languages.

LINQ to XML is like the Document
Object Model (DOM) in that it brings
the XML document into memory. You can
query and modify the document, and
after you modify it you can save it to
a file or serialize it and send it
over the Internet. However, LINQ to
XML differs from DOM: It provides a
new object model that is lighter
weight and easier to work with, and
that takes advantage of language
improvements in Visual C# 2008.

You can then search and manipulate any XML document element using LINQ query expressions like the following example:

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;
々眼睛长脚气 2024-11-17 12:21:33

如果您不喜欢 Linq

http://msdn.microsoft.com/en-us/library/ms256086%28VS.85%29.aspx

node.SelectNodes("Songs[/Singer/LivePlace='California']")

这将获取所有歌曲具有歌手节点和值为 California 的 liveplace 节点的节点。

You can use XPathing to easily get whatever you want if you have an aversion to Linq

http://msdn.microsoft.com/en-us/library/ms256086%28VS.85%29.aspx

node.SelectNodes("Songs[/Singer/LivePlace='California']")

this would get all Songs nodes that have a singer node with a liveplace node with the value of California.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文