【问题标题】:How to remove element if self closing tag is found如果找到自关闭标签,如何删除元素
【发布时间】:2012-12-06 06:24:20
【问题描述】:

我正在从第三方应用程序中提取一个看起来像这样的 xml 文件

<round round_id="14208" name="5th Round" start_date="2013-09-06" end_date="2013-09-10" type="cup" groups="0" has_outgroup_matches="no" last_updated="2011-04-05 14:15:02">
    --Some Data with more elements
</round>

<round round_id="14208" name="5th Round" start_date="2013-09-06" end_date="2013-09-10" type="cup" groups="0" has_outgroup_matches="no" last_updated="2011-04-05 14:15:02">
    --Some Data with more elements
</round>

我的问题是有时这个标签带有像这样的自闭标签

<round round_id="14208" name="5th Round" start_date="2013-09-06" end_date="2013-09-10" type="cup" groups="0" has_outgroup_matches="no" last_updated="2011-04-05 14:15:02"/>

我想检查自闭标签并删除元素。

请帮帮我。 谢谢

【问题讨论】:

  • 看看 XMLDocument 及其子节点属性。不幸的是,我不太了解发布任何代码
  • 这是错误的 XML,所以无法将其解析为 XML,我相信您将此文件解析为纯文本,那么您如何搜索 &lt;/remove&gt; 结束标记?同理搜索/&gt;
  • 抱歉我贴错了结束标签。现在更正添加了结束标签

标签: c#


【解决方案1】:
var file = "C:\\YourPath\\data.xml";
var doc = new XmlDocument();
doc.Load(file);
var nodes = doc.SelectNodes("/rounds/round");
foreach (XmlNode item in nodes)
{
    if (item.InnerXml == String.Empty)
    {
        item.ParentNode.RemoveChild(item);
    }
}
doc.Save(file);

【讨论】:

    猜你喜欢
    • 2023-02-16
    • 1970-01-01
    • 2022-11-15
    • 2019-05-16
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    相关资源
    最近更新 更多