首先,抱歉我的英语不好。我的问题:我必须在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>
如果有人能在那里帮助我会很好。
答案 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)
输出:
参考: