![](/img/trans.png)
[英]Read and Remove invalid characters from xml outside xml elements in C# Linq to Xml
[英]how to remove invalid characters from xml in C#
我有一個xml,它由很多文本組成,如下所示:
<EmployeeId>&EmpId;</EmployeeId>
<Department>&Dept;</Department>
我需要刪除&字符,以便適當的xml來對xsd進行驗證。 怎么能實現這個?
你也可以使用
創建節點時, xml = "<myxmlnode>"+ SecurityElement.Escape(string) +"</myxmlnode>"
。
這將處理所有無效字符並逃避它們。
我不建議刪除數據只是為了“修復”一個問題。 將&
字符添加到Xml數據的正確方法是&
。 您可以使用XmlWriter
或框架中的其他類來創建Xml,並讓它為您找出格式。
您可以執行以下操作之一:
string content = System.IO.File.ReadAllText("PATH");
System.IO.File.WriteAllText("PATH", content.Replace("&", String.Empty));
要么
string content = System.IO.File.ReadAllText("PATH");
System.IO.File.WriteAllText("PATH", content.Replace("&", "&").Replace("&", "&"));
“雙重替換”是為了避免創建“&amp; amp;”。
如果在XML中使用某些字符,則需要對其進行正確編碼。 &符號&是其中之一。
看看這里,如果這些字符是XML中包含的數據的一部分,則需要對這些字符進行編碼。
我建議看一下XMLConvert類。 您可以使用它來編碼和解碼XML以使其安全。 這也將處理XML規范中定義的非法字符。 正如已經指出的那樣,刪除諸如&amp的文本實際上會改變下划線數據,因此您應該根據需要進行編碼和解碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.