我在使用Xml和Linq的XHTML文檔上執行XML操作。將XElement轉換爲HTML字符串
將其轉換回字符串以便輸出到瀏覽器時,它會在創建XElement時以原始提供的形式呈現腳本標記,如 <script />
。
這可以防止它被市場上大多數瀏覽器正確處理。
我想,它輸出的腳本標籤這樣<script></script>
有人可以幫我這句話的方式進行的XElement到String的轉換?提前致謝。 :)
第一次編輯 提供更多信息,數據來自MSSQL 2008R2數據庫中的xml字段。 它是從XML字段加載 <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js" />
第二個編輯 工作樣本
using System;
using System.Linq;
using System.Xml.Linq;
namespace Test1
{
class Test1
{
static void Main(string[] args)
{
XElement element = XElement.Parse("<div><script /><script>Test</script></div>");
var EmptySet = (from e in element.DescendantsAndSelf()
where e.IsEmpty
select e);
foreach(XElement e in EmptySet)
{
e.Value = String.Empty;
}
Console.WriteLine(element.ToString(SaveOptions.None));
}
}
}
,其結果
<div>
<script></script>
<script>Test</script>
</div>
遺憾的是,它是來自數據庫作爲 當我把在你的解析例子,它輸出的XML是從數據庫中來。 – Michael 2010-06-29 09:42:39
@Michael:所以這不是將*腳本標記轉換爲'' - 它忠實地從數據庫中格式化XML。 – 2010-06-29 09:56:16
謝謝你,我已經標記你爲答案。 作爲一個簡單的問題,如果腳本標記是深層的後代XElement而不是父級,那麼搜索XElements以將所有空單元更改爲空字符串的最簡單方法是按照您的示例。 – Michael 2010-06-29 10:06:37