【问题标题】:VB.NET - Edit XML and delete line if presentVB.NET - 编辑 XML 并删除行(如果存在)
【发布时间】:2016-04-16 03:59:12
【问题描述】:

我有这种情况:

1-加载xml

2- 搜索是否存在行(或单词)

3- 如果存在则删除整行

4-保存

加载和保存 xml 没问题,但是 2 和 3 不知道...

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>

所以,如果mp:appidexist 则删除整行

结果应该是:

<?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>

我想我必须使用 XML 命名空间...

谢谢大家,为我的糟糕英语道歉......

【问题讨论】:

  • 请发布您尝试的包含第 1-3 步的代码(以及第 2-3 步失败的原因)。谢谢
  • 我建议不要使用基于字符串的替换功能。有一些很好的方法可以编辑 xml 并使其保持有效。如果您删除的节点不会在同一行中关闭,则您的 xml 将无效。

标签: xml vb.net edit


【解决方案1】:

试试 xml linq

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

【讨论】:

    猜你喜欢
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    相关资源
    最近更新 更多