Проверка схемы XML в Delphi, полученной веб-службой C # в качестве параметра

У меня есть веб-служба C #, которая возвращает XML в результате, который будет использоваться приложение Delphi 7. Обычно я возвращаю класс .Net XmlDocument, если бы у меня был клиент .Net, но для Delphi я возвращаю строку. Ниже приведен код веб-службы C #:

public String ReturnXML()
{
    XmlDocument xmlDoc = GenerateXmlMethod();
    String sXmlResult = String.Empty;
    if (xmlDoc != null)
    {
        using (StringWriter oXml = new StringWriter())
        {
            xmlDoc.Save(oXml);
            sXmlResult = oXml.ToString();
        }
    }
    return sXmlResult;
}

В Delphi я получил приведенный ниже код из другого вопроса здесь в StachOverflow, и он отлично работает, если мне нужно загрузить XML и XSD с диска, но мне нужно загрузить его из памяти. Ниже приведен мой код Delphi:

procedure TfrmTestador.Button3Click(Sender: TObject);
var
  XML, XSDL, XSDLDom: Variant;
begin
  XSDLDom := CreateOLEObject('MSXML2.DOMDocument.6.0');
  try
    XSDLDom.async := false;
    XSDLDom.load('C:\Temp\XsdFile.xsd');
    XSDL := CreateOLEObject('MSXML2.XMLSchemaCache.6.0');
    try
      XSDL.add('',XSDLDom);
      XML := CreateOLEObject('Msxml2.DOMDocument.6.0');
      try
        XML.validateOnParse := True;
        XML.resolveExternals := True;
        XML.schemas := XSDL;
        XML.load('C:\Temp\XmlFile.xml');
        ShowMessage(XML.parseError.reason);
      finally
        XML := Unassigned;
      end;
    finally
      XSDL := Unassigned;
    end;
  finally
    XSDLDom := Unassigned;
  end;
end;

Каким будет код Delphi для загрузки XSD и XML из переменных WideString, и чтобы он работал как код, который загружает их из файла, проверяя XML на фиксированной схеме XSD, которая является закодирован в приложении? Есть ли лучший способ вернуть XML из C #, чтобы его было легче читать в Delphi?
проверка XML на фиксированной схеме XSD, которая закодирована в приложении? Есть ли лучший способ вернуть XML из C #, чтобы его было легче читать в Delphi?
проверка XML на фиксированной схеме XSD, которая закодирована в приложении? Есть ли лучший способ вернуть XML из C #, чтобы его было легче читать в Delphi?
Спасибо за ваше время!

5
задан Community 23 May 2017 в 11:47
поделиться