如何删除xml中结点的某个属性
怎么删除xml中结点的某个属性
- <TemplateSet PageType= "0 ">
- <PUBLICINFOLIST>
<PUBLICINFO ColumnName= "零件图号 " InfoTpye= "2 " SuperClass= "General Process " ParentClass= "Change Process " ClassName= "CCB-QA " FieldName= "工作时间 " IsEdit= "0 " />
</PUBLICINFOLIST>
比方说删除PUBLICINFO这个结点的ColumnName属性该怎么删除
------解决方案--------------------
xml都是按照一定规则描述的数据集合,将操作xml的指针定位到该行,设置属性值为 " " 吧 删除没什么意义也不可取
------解决方案--------------------
IXMLDOMElement *pIXMLDOMElement = NULL;
_bstr_t bstrAttributeName = _T( "dateCreated ");
IXMLDOMDocument *pIXMLDOMDocument = NULL;
HRESULT hr;
try
{
// Create an instance of DOMDocument and initialize pIXMLDOMDocument.
// Load/create an XML fragment.
hr = pIXMLDOMDocument-> get_documentElement(&pIXMLDOMElement);
SUCCEEDED(hr) ? 0 : throw hr;
hr = pIXMLDOMElement-> removeAttribute(bstrAttributeName);
if(SUCCEEDED(hr))
{
// Attribute removed.
}
pIXMLDOMElement-> Release();
pIXMLDOMElement = NULL;
// Release pIXMLDOMDocument when finished with it.
}
catch(...)
{
// Release pIXMLDOMDocument if it exists.
if(pIXMLDOMElement)
pIXMLDOMElement-> Release();
DisplayErrorToUser();
}
- <TemplateSet PageType= "0 ">
- <PUBLICINFOLIST>
<PUBLICINFO ColumnName= "零件图号 " InfoTpye= "2 " SuperClass= "General Process " ParentClass= "Change Process " ClassName= "CCB-QA " FieldName= "工作时间 " IsEdit= "0 " />
</PUBLICINFOLIST>
比方说删除PUBLICINFO这个结点的ColumnName属性该怎么删除
------解决方案--------------------
xml都是按照一定规则描述的数据集合,将操作xml的指针定位到该行,设置属性值为 " " 吧 删除没什么意义也不可取
------解决方案--------------------
IXMLDOMElement *pIXMLDOMElement = NULL;
_bstr_t bstrAttributeName = _T( "dateCreated ");
IXMLDOMDocument *pIXMLDOMDocument = NULL;
HRESULT hr;
try
{
// Create an instance of DOMDocument and initialize pIXMLDOMDocument.
// Load/create an XML fragment.
hr = pIXMLDOMDocument-> get_documentElement(&pIXMLDOMElement);
SUCCEEDED(hr) ? 0 : throw hr;
hr = pIXMLDOMElement-> removeAttribute(bstrAttributeName);
if(SUCCEEDED(hr))
{
// Attribute removed.
}
pIXMLDOMElement-> Release();
pIXMLDOMElement = NULL;
// Release pIXMLDOMDocument when finished with it.
}
catch(...)
{
// Release pIXMLDOMDocument if it exists.
if(pIXMLDOMElement)
pIXMLDOMElement-> Release();
DisplayErrorToUser();
}