使用转义字符来替换 &与 &;在 xml 文件 vb.net 中

发布于 2024-12-28 12:36:25 字数 96 浏览 1 评论 0原文

我正在尝试替换 &在 xml 文档中的服务名称中。

的&正在导致错误。无论如何,我可以编写一些可以转义“&”的代码吗?作为“&”?

I am trying to replace an & in the name of a service in an xml document.

The & is causing an error. Is there anyway i can write some piece of code which will escape "&" as " & a m p ;"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

为人所爱 2025-01-04 12:36:25

考虑使用 XmlTextWriter 写出您的 XML;它会为你处理转义。

代码可能如下所示:

    Dim writer As Xml.XmlTextWriter

    writer = New Xml.XmlTextWriter("C:\Temp\Services.xml", System.Text.Encoding.UTF8)
    writer.Formatting = Xml.Formatting.Indented

    writer.WriteStartDocument()
    writer.WriteStartElement("Services")

    For Each item As KeyValuePair(Of String, Service) In discservice
        writer.WriteStartElement("Name")
        writer.WriteString(item.Key)
        writer.WriteElementString("DisplayName", item.Value.DisplayName)
        writer.WriteElementString("ServiceName", item.Value.ServiceName)
        writer.WriteElementString("ServiceStatus", item.Value.ServiceStatus)
        writer.WriteEndElement()
    Next

    writer.WriteEndElement()
    writer.WriteEndDocument()
    writer.Close()

显然,如果要写入流而不是文件,则需要使用 XmlTextWriter 的其他构造函数。

Consider using an XmlTextWriter to write out your XML; it will handle the escaping for you.

The code might look something like this:

    Dim writer As Xml.XmlTextWriter

    writer = New Xml.XmlTextWriter("C:\Temp\Services.xml", System.Text.Encoding.UTF8)
    writer.Formatting = Xml.Formatting.Indented

    writer.WriteStartDocument()
    writer.WriteStartElement("Services")

    For Each item As KeyValuePair(Of String, Service) In discservice
        writer.WriteStartElement("Name")
        writer.WriteString(item.Key)
        writer.WriteElementString("DisplayName", item.Value.DisplayName)
        writer.WriteElementString("ServiceName", item.Value.ServiceName)
        writer.WriteElementString("ServiceStatus", item.Value.ServiceStatus)
        writer.WriteEndElement()
    Next

    writer.WriteEndElement()
    writer.WriteEndDocument()
    writer.Close()

Obviously, if you're writing to a stream rather than a file, you'd need to use the other constructor for the XmlTextWriter.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文