使用VB.Net从XML-File中删除xmlns =“”和ns1 :.

时间:2016-11-03 16:38:05

标签: xml excel vb.net

请帮我解决这个问题: 我有Excel文件并尝试使用VB.Net和XDocument / XML Literals生成XML文件... 生成后有一个文件:

....
<Payload>
        <ns1:BidSet xmlns="http://... xmlns:ns0="http://.... xmlns:ns1="http://....>        
            <tradingDate xmlns="">2016-10-31</tradingDate>
            <PTPObligation xmlns="">
            ....
            ....
            </PTPObligation>
        </ns1:BidSet>
</Payload>
....

空但我需要从所有标签(节点)删除空xmlns=""并从所有节点删除ns1:。 我这样做是因为男女同校:

 Dim settings As XmlWriterSettings = New XmlWriterSettings()
        settings.Encoding = New UTF8Encoding(False)

        Dim Input = File.ReadAllText(outfile)
        Dim output = Regex.Replace(Input, "(ns1:)", "")
        File.WriteAllText(outfile, output)

        Dim AllElements =
        From elem In xdoc.Descendants()
        Where elem.Name = NameOfBid
        Select elem

        For Each elem As XElement In AllElements

            If elem.Name.NamespaceName = "" Then
                elem.Attributes("xmlns").Remove()
                elem.Name = elem.Parent.Name.Namespace + elem.Name.LocalName

                Using writer = XmlWriter.Create(outfile, settings)
                    xdoc.Save(writer)
                End Using
            End If
        Next

但Excel文件有很多行,XML文件有很多应该被处理的节点。 这个程序工作时间太长了。 是否有可能使用VB.Net(或者可能是C#-code)删除我需要但速度更快的所有内容?

0 个答案:

没有答案