如何删除xml文件的属性名称和值?

时间:2014-07-20 16:46:16

标签: xml vb.net

首先,抱歉我的英语不好。我的问题:我必须在VB.Net上编写一个脚本,它应该通过一个xml文件并搜索具有特定属性名称的所有元素。如果找到一个,则应删除名称和值。元素名称保留。全部清除后,应保存文件。

我首先考虑将整个xml(相当大的文件)转换为字符串并尝试使用RegEx进行,但我搜索并在这里看到一些线程,这使我不相信。我看到了一些关于Linq到xml的线程,并尝试了一些没有用的东西。

元素名称可以不同。

<ph audience="1234">Randomtext</ph>
<li audience="2323">Randomtext</li>
<table audience="1234">Randomtext</table>

<ph>Randomtext</ph>
<li>Randomtext</li>
<table>Randomtext</table>

如果有人能在那里帮助我会很好。

1 个答案:

答案 0 :(得分:1)

以下是您可以使用的一些代码:

'instead of inline xml declaration, you can use
'XDocument.Load("path")
'or
'XDocument.Parse("xml_content")

Dim xml = <xml>
            <ph audience="1234">Randomtext</ph>
            <li audience="2323">Randomtext</li>
            <table audience="1234">Randomtext</table>
            <othernode>Randomtext</othernode>
          </xml>

Dim elements = xml.Descendants.
  Where(Function(x) x.Attribute("audience") IsNot Nothing)

For Each el As XElement In elements
  el.Attributes("audience").Remove()
Next

'xml.Save(fileName)

Console.WriteLine(xml.ToString)

输出:

enter image description here

参考: