1

如何将 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 文件(作为 DB)所以没有代码可以放在这里,但希望有人有一些解决方案!

4

2 回答 2

2

我不相信您可以简单地对 XML 使用 SQL,而不需要大量工作(可以使用 XML 解析器转换为您的 XML 结构的 SQL 解析器)。

您可以获得的最接近的方法是将 LINQ to XML 与XDocument类和System.Xml.Linq命名空间一起使用。

于 2012-05-01T17:55:21.403 回答
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
于 2012-05-01T18:52:43.520 回答