【问题标题】:How to remove formatting of XDocument in VB.net如何在 VB.net 中删除 XDocument 的格式
【发布时间】:2012-07-20 13:06:54
【问题描述】:

我想在加载到 XDocument 后删除我的 xml 文件的格式。我有以下代码。

Dim xmldoc As XDocument = XDocument.Parse(XMLStr)
.
.
.
.
Dim FinalStr as String = xmldoc.ToString() 

当我使用这个字符串时,我得到了多个新行和多个空格。我不想要那些空格和新行,任何人都可以告诉我如何删除它。 我知道有SaveOptions.DisableFormatting 选项可以删除格式,但我不打算保存文档。

我也尝试了 Regex,但也删除了一些内容空间,所以我想删除 XDocument 放置的格式空间和换行符。

更新:

我尝试了xmldoc.ToString(SaveOptions.DisableFormatting),但它也删除了一些空格。例如,当我的 xml 像这样

<title>My <b>tilte</b> <i>Company</i></title>

它删除了&lt;b&gt;tilte&lt;/b&gt; &lt;i&gt;Company&lt;/i&gt; 标签之间的空格。 我希望我的标题为

"My tilte Company" 但它给出的是 "My tilteCompany"

谁能帮帮我。

【问题讨论】:

  • 整个示例 xml 是什么样的?你在转义html吗?例如,它应该是这样的:&lt;myXmlElement&gt;&amp;lt;title&amp;gt;My &amp;lt;b&amp;gt;tilte&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;Company&amp;lt;/i&amp;gt;&amp;lt;/title&amp;gt;&lt;/myXmlElement&gt;

标签: vb.net linq linq-to-xml


【解决方案1】:

您正在寻找xmldoc.ToString(SaveOptions.DisableFormatting)

【讨论】:

  • 但是有一个问题,当我的 xml 像这样 "My <b>tilte</b> <i>Company</i> " 它删除了之间的空格 标签。
【解决方案2】:

我认为您的问题可以通过以下方式解决:

Dim xmldoc As XDocument = XDocument.Parse(XMLStr, LoadOptions.PreserveWhitespace)

欲了解更多信息,请访问XDocument.Parse Method (String, LoadOptions)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多