4

検証済みの XML ファイルを読み取り、変更してから保存する Delphi XE アプリケーションがあります。保存されたバージョンは検証できます。SML Spy を使用してファイルを作成し、検証します。

次に、メモリ内にドキュメントを作成して保存する必要があります。問題は、検証できるようにドキュメントに xmlns および xsd 情報属性を生成する方法がわからないことです。

4

1 に答える 1

6

実際、上記の私のコメントにもかかわらず、それを行う最も簡単な方法はDeclareNamespace.

TXMLDocument以下は、フォームでa を使用していない例です。xmldom, XMLIntf, andXMLDoc を実装に uses 句 ( XE2 の場合は , , and ) を追加するだけで、次のように機能Xml.xmldomXml.XMLIntfます。Xml.XMLDoc

procedure TForm1.Button1Click(Sender: TObject);
var
  TheDoc: IXmlDocument;
  iNode: IXmlNode;
  xmlText: DOMString;
begin
  TheDoc := NewXMLDocument;
  TheDoc.Version := '1.0';
  TheDoc.Encoding := 'UTF-16';
  iNode := TheDoc.AddChild('test:test_file');
  iNode.SetAttributeNS('xmlns:test', '', 'http://www.foo.com' );
  iNode.SetAttributeNS('xmlns:xsi', '', 'http://www.w3.org/2001/XMLSchema');
  TheDoc.SaveToXML(xmlText);
  Memo1.Lines.Text := xmlText;
end;

上記の結果は、次の出力になりTMemoます。

<?xml version="1.0" encoding="UTF-16"?>
<test:test_file xmlns:test="http://www.foo.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema"/>
于 2012-06-18T13:48:30.373 に答える