删除 XML 文件的特定节点
Deleting specific node of XML file
下面我有一个XML文件的示例,我想删除每个标头中的特定节点。我该怎么做。例如,在标题<HEADER>
中,我想删除节点<ADDRESS>
,不仅是它的属性,还有整个节点。<HEADER1>
我需要删除属性<UMG_VAR Name="ABC" Value=1></UMG_var>
,这里Name
属性是唯一的。
<MAIN>
<HEADER>
<TITLE>ppc_ph_pios</TITLE>
<AUTOR>DNL</AUTOR>
<AGE>age</AGE>
<SEX>Male</SEX>
<PLACE>Earth</PLACE>
<ADDRESS>abc</ADDRESS>
</HEADER>
<HEADER1>
<UMG_VAR Name="RED" Value="3"></UMG_VAR>
<UMG_VAR Name="ABC2" Value="2"></UMG_VAR>
<UMG_VAR Name="ABC" Value="1"></UMG_VAR>
</HEADER2>
</MAIN>
QDomDocument doc;
doc.setContent(oldXml);
QDomNodeList nodes = doc.elementsByTagName("element");
for (int i = 0; i < nodes.count(); ++i)
{
QDomNode node = nodes.at(i);
QDomElement child = node.firstChildElement("child");
if (!child.isNull() && child.attribute("id") == "0")
{
node.removeChild(child);
}
}
QString newXml = doc.toString();
相关文章:
- 如何在pugixml中获取节点的内部XML
- C++RapidXml-使用first_node()遍历以修改XML文件中节点的值
- 删除 XML 文件中的子节点C++
- 使用 RapidXML 更新C++中的 XML 节点和属性值
- 按属性搜索和提取 XML 节点
- 尝试使用 RapidXML 将唯一的 XML 属性追加到节点
- C++/RapidXML:编辑节点并写入新的 XML 文件没有更新的节点
- c++ 无法从 XML 获取所有子节点
- 如何在每个XML节点上添加线路断裂
- 快速XML遍历节点
- 使用boost::property_tree编写CDATA XML节点
- 如何在QT中获取XML文件的最后一个节点
- 如何使用libxml2从C 中的XML文件中检索节点和特定元素字符串而不使用XPATH
- 如何将XML节点数据转换为QT中的字符串
- 通过Pugixml C 提取XML文件中的节点的所有节点
- 如何使用XPath使用libxml2从C 中的XML文件中检索节点和特定元素字符串
- XML从UnicodeString创建CData节点时出现无效字符
- 忽略GSOAP中的未知XML元素节点
- 如何将XML文件拆分为多个XML,以便每个新文件只包含原始文件中的一个文本节点
- C++等价于从C#中选择XML节点