1

XML ファイルをデータベースとして使用し、その上で基本的な SELECT コマンドを実行するにはどうすればよいでしょうか。
例: title="MyTitle" の file.xml から作成者を選択

<?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 パーサーを使用して XML 構造に変換できる SQL パーサー) なしでは、単純に XML に対して SQL を使用できるとは思えません。

XDocument最も近い方法は、クラスとSystem.Xml.Linq名前空間で LINQ to XML を使用することです。

于 2012-05-01T17:55:21.403 に答える
1

XPathを調べることができます。このSystem.XML.XmlDocument.SelectNodes方法では、XPathを介して一致するノードを選択できます。これはSQLではありませんが、XMLドキュメント内のノードを見つける一般的な方法です。次の例では、XPathを使用して、「MidnightRain」というタイトルのすべての本の著者を取得します。

    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 に答える