jjzjj

ixmldomdocument

全部标签

xml - Delphi,IXMLDOMDocument2,加载因无效字符而失败

使用Delphi2009和IXMLDOMDocument2将XML加载到IXMLDOMDocument2时,我收到“在文本内容中发现无效字符”错误。该字符为1B(十六进制)并且存在于CDATA部分中。Microsoft的XML查看器(IE)可以很好地加载文件。XML看起来像...注意:我尝试粘贴XML,但特殊字符已被删除。在CDATA部分,我的XML文件中的“--”后面有一个1B字符。我已经尝试添加到XML和其他编码的开头,但没有任何效果。是否可以执行任何操作来加载此文件?谢谢,迈克尔 最佳答案 字符U+001B在XML中是不允许的

xml - 使用 IXMLDocument 在 XML 中搜索数据

给出下面的XML示例;如何轻松检查给定对象是否存在?如何轻松添加组或用户类型的项目?(加一整block)groupCOMPUTER\AdministratorsuserCOMPUTER\Admin代码:varDoc:IXMLDOMDocument2;Node:IXMLDOMNode;procedureTest;beginDoc:=CreateOleObject('Microsoft.XMLDOM')asIXMLDomDocument2;Doc.load('test.xml');//ThisWorksNode:=Doc.selectSingleNode('//role/access/co

xml - 如何比较两个 XML 节点结构 Delphi

有没有办法在Delphi中比较两个xml节点?我正在使用MSXML解析器并将xml加载到IXmlDOMDocument2中。节点存储在IXmlDOMNode中。如果有帮助,我愿意使用Delphi的TXMLDocument。我不想下载任何第三方组件。我只想比较节点的结构,而不是值。我看到了关于Java的类似帖子/实用程序,但对Delphi没有任何帮助。谢谢! 最佳答案 由于您只想比较结构,您可以将节点转换为“完整路径”并将它们作为字符串进行比较。例如让我们假设树:树ARoot->Node1->Child1->Child2->Node2

c++ - 如何确定对 IXMLDOMDocument::load() 的调用失败的原因?

我正在尝试调试代码中似乎是XML解析的问题。我已将其分离为以下代码片段:HRESULTCXmlDocument::Load(IStream*Stream){CComVariantxmlSource(static_cast(Stream));VARIANT_BOOLisSuccessful;*HRESULThr=m_pXmlDoc->load(xmlSource,&isSuccessful);return(hr==S_FALSE)?E_FAIL:hr;}注意:m_pXmlDoc类型为CComPtr.似乎是对IXMLDOMDocument::load()的调用(标有*)失败-IOW,它正在