我有点纠结于XML名称空间。我想请你帮个小忙。
I need...My名称空间如下所示:
<?xml version="1.0" encoding="iso-8859-2"?>
<Application_data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">我所做的是:
procedure BeginExport;
var
FOutputXML: IXMLDOMDocument;
vNode: IXMLDOMNode;
begin
DoBeginBeginExport;
if FOutputXML = nil then
begin
FOutputXML := CoDOMDocument.Create;
FOutputXML.appendChild(FOutputXML.createProcessingInstruction('xml', 'version="1.0" encoding="iso-8859-2"'));
vNode := FOutputXML.appendChild(FOutputXML.createElement('Application_data'));
vNode.attributes.setNamedItem(vNode.ownerDocument.createAttribute('????')).text := '"http://www.w3.org/2001/XMLSchema-instance';
end else FOutputXML.removeChild(FOutputXML.firstChild);
DoAfterBeginExport;
end;在Createattribute之后加上"xmlns:xsi“不起作用。任何人都可以帮助我,我做错了什么,或者设置名称空间属性的最简单方法是什么?
发布于 2016-05-23 20:49:30
我解决了这个问题,但我认为这不是最好的解决方案。
//vAttr: IXMLDOMAttribute;
vAttr := FOutputXML.createAttribute('xmlns:xsi');
vAttr.value := 'http://www.w3.org/2001/XMLSchema-instance';
vNode.attributes.setNamedItem(vAttr);
vAttr := FOutputXML.createAttribute('xmlns:xsd');
vAttr.value := 'http://www.w3.org/2001/XMLSchema-instance';
vNode.attributes.setNamedItem(vAttr);https://stackoverflow.com/questions/37390444
复制相似问题