2016-04-16 5 views
0

ich diese Situation haben:VB.NET - Bearbeiten von XML und Zeile löschen, wenn vorhanden

1- Last xml

2- Suche wenn Zeile (oder Wort) vorliegt

3- falls vorhanden löschen Sie die gesamte Linie

4-

speichern

Für laden und speichern von xML in Ordnung, aber 2 und 3 weiß nicht ...

XML

<?xml version="1.0" encoding="utf-8"?> 
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp build" xmlns:build="http://schemas.microsoft.com/developer/appx/2015/build"> 
    <Identity Name="Microsoft.MyApp" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Version="1.5.0.0" ProcessorArchitecture="x64" /> 
    <mp:appid Id1="1111" Id2="3333" /> 
</Package> 

Also, wenn mp:appid dann die gesamte Zeile

löschen existieren

das Ergebnis sollte sein:

<?xml version="1.0" encoding="utf-8"?> 
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" IgnorableNamespaces="uap mp build" xmlns:build="http://schemas.microsoft.com/developer/appx/2015/build"> 
    <Identity Name="Microsoft.MyApp" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Version="1.5.0.0" ProcessorArchitecture="x64" /> 
</Package> 

Ich glaube, ich habe XML-Namespaces verwenden ...

thx alle, sry für mein schlechtes eng ...

+0

Bitte senden Sie Ihre versuchten Codes, einschließlich Schritt 1-3 (und wie es für Schritt 2-3 fehlgeschlagen ist). Thanks – har07

+0

Ich würde vorschlagen, keine String-basierten ersetzen Funktionen zu verwenden. Es gibt einige nette Möglichkeiten, XML zu bearbeiten und es gültig zu lassen. Wenn Ihr entfernter Knoten nicht in derselben Zeile geschlossen wäre, würden Sie Ihr XML ungültig machen. – Clijsters

Antwort

0

Versuchen Sie xml li nq

Imports System.Xml 
Imports System.Xml.Linq 
Module Module1 
    Const FILENAME As String = "c:\temp\test.xml" 
    Sub Main() 
     Dim doc As XDocument = XDocument.Load(FILENAME) 

     Dim appid As XElement = doc.Descendants().Where(Function(x) CType(x.Name.LocalName, String) = "appid").FirstOrDefault() 
     If Not appid Is Nothing Then 
      appid.ReplaceWith(Nothing) 
     End If 
     doc.Save(FILENAME) 
    End Sub 

End Module 
+0

Perfekt funktioniert! Thx jdweng !!! – FTP

Verwandte Themen