[英]Remove xsi:nil attibute using IXMLDOMDOCUMENT in Delphi
我有一個包含許多xml節點的xml文檔。 該文檔具有xsi:nil="true"
屬性。 如果我在這些節點上設置值,則nil
屬性仍然存在,並且對我的xsd無效。
題:
如何使用帶有MSXML2_TLB的Delphi 2006代碼刪除xsi:nil
屬性?
我試過這個:
xmlNode.attributes.removeNamedItem('xsi:nil');
它運行時沒有錯誤,但不刪除該屬性。
在節點本身上調用IXmlDomElement.removeAttribute
,而不是屬性集合。 表示元素的任何IXmlDomNode
對象也應該實現IXmlDomElement
,因此對節點進行類型轉換:
OleCheck((xmlNode as IXmlDomElement).removeAttribute('xsi:nil'));
如果您使用的是XmlIntf單元而不是Microsoft DOM,請調用IXmlNode.SetAttributeNS
。 傳遞Null
作為值,該屬性將被刪除:
xmlNode.SetAttributeNS('nil', 'xsi', Null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.