使用XML文件作为数据库

时间:2012-05-01 17:48:53

标签: .net vb.net vb.net-2010

如何将XML文件用作数据库并仅在其上执行一些基本的SELECT命令! 例如:从file.xml中选择作者,其中title =“MyTitle”

<?xml version="1.0"?>
<catalog>
<book id="bk101">
  <author>Gambardella, Matthew</author>
  <title>XML Developer's Guide</title>
</book>
<book id="bk102">
  <author>Ralls, Kim</author>
  <title>Midnight Rain</title>
</book>
</catalog>

我从未使用过XML文件(作为数据库),所以没有代码放在这里,但希望有人有一些解决方案!

2 个答案:

答案 0 :(得分:2)

我不相信你可以简单地使用SQL来对抗XML,而不是没有太多工作(可以使用XML解析器转换为XML结构的SQL解析器)。

最接近的是使用LINQ to XML和XDocument类以及System.Xml.Linq命名空间。

答案 1 :(得分:1)

您可以查看XPath。 System.XML.XmlDocument.SelectNodes方法允许您通过XPath选择匹配的节点。它不是SQL,但它是在XML文档中查找节点的常用方法。以下示例使用XPath检索所有书籍的作者,标题为“Midnight Rain”。

    Dim document As XmlDocument = New XmlDocument()
    document.Load("file.xml")
    Dim matches As XmlNodeList = document.SelectNodes("/catalog/book[title = 'Midnight Rain']/author")
    For Each node As XmlNode In matches
        'Do work
    Next