簡體   English   中英

使用Delphi中的IXMLDOMDOCUMENT刪除xsi:nil attibute

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM