微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在XML文档中创建xmlns:xsi和xsd信息

我有一个Delphi XE应用程序,它读取经过验证的 XML文件,修改它然后保存它.可以验证保存的版本.我使用SML Spy来创建文件并对其进行验证.

现在我需要在内存中创建一个文档并保存它.问题是我无法弄清楚如何为文档生成xmlns和xsd信息属性,以便可以验证它.

解决方法

实际上,尽管我上面的评论,我发现最简单的方法不是使用DeclareNamespace.

这是一个甚至在表单上都不使用TXMLDocument的示例.只需将xmldom,XMLIntf和XMLDoc添加到您的implementation uses子句(Xml的Xml.xmldom,Xml.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"/>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。