5

Delphi7 で XPath を使用して XML ドキュメントを検索する最良の方法は何ですか?

4

2 に答える 2

6

xml ドキュメントのサイズによって異なります。しかし、私は MSXML とそれに対応する Saxon の両方で十分な経験があります。

xml が大きい (50 MB を超える) か、クエリが重い (システムをクロールさせるために // を使用する) 場合は、遅延時間が予想されます。しかし、それ以外は完全に実行可能です。

それ以降のバージョンでは、msxml はユニットとして使用できます。バージョン 7 では、タイプ ライブラリをインストールする必要があります。

  • Project\Import タイプ ライブラリに移動します
  • Microsoft XML を選択します (見つけられる最新のバージョン)。
  • [ユニットの作成] を選択して MSXML_TLB を作成します

MSXML_TLB を使用して xml ドキュメントを読み取り、xslt を使用して xpath クエリを実行できます。

var
  doc  : IXMLDomDocument2;
  list : IXMLDomNodeList;
  node : IXMLDomNode;
  i    : Integer;

begin
  doc := CoDOMDocument.Create;
  doc.load(xmlfilename); 

  list := doc.selectNodes(xpath);
  for i := 0 to list.length-1 do begin
    node := list.item[i];
    if node<>nil then
      Memo1.Lines.Add(node.nodeName);
  end;
end;
于 2009-02-05T18:40:53.263 に答える
1

Delphi で XML ファイルを処理する必要があるときは、何年も使用しているコンポーネントであるOmniXMLを常に使用します。主に軽量で使いやすく、無料であるため、私は完全に満足しています。

また、XPath との連携も簡単です。試してみる価値があります。あなたにも役立つことを願っています。

于 2009-09-17T21:01:48.347 に答える