簡體   English   中英

在C#中,使用System.Xml.Linq XText如何在文檔中獲取&而不是&

[英]In C# Using System.Xml.Linq XText how do I get an & in the document instead of &

使用MS Visual Studio 2013創建C#應用程序,我試圖在XML文檔中獲取以下輸出。

<UnitsOfMeasure>
    &uom-data;
</UnitsOfMeasure>

我不斷

<UnitsOfMeasure>
    &amp;uom-data;
</UnitsOfMeasure>

這是我嘗試過的代碼

XElement uom = new XElement("UnitsOfMeasure");
uom.Add("\n" + tab2, new XText("&uom-data;"), "\n" + tab1);
sd.Add("\n" + tab1, uom);
sd.Add("\n");

XElement uom = new XElement("UnitsOfMeasure");
uom.Add("\n" + tab2, new XText((char)38 + "uom-data;"), "\n" + tab1);
sd.Add("\n" + tab1, uom);
sd.Add("\n");

謝謝

問題是&在XML中有特殊含義-它用於轉義其他內容; 例如,使用xml時注意與號 為您編寫的是在XML中包含“&”號的正確方法,當XML解析器讀回它時,應將&轉換為&。

因此,也許(如果有的話),您可能會對重新讀回該XML的任何代碼有問題,因為它應該為您重新轉換。

XML具有稱為“實體”的事物,其形式為“與” ampersand-characters-semicolon

XML實體是不同文本塊的別名(盡管在大多數情況下,實體僅用於插入單個字符-通常字符不在鍵盤上)

&amp; 是最常用的-插入& &copy; 用於版權符號。

除了標准的之外,還可以定義自己的標准。

您正在嘗試輸入的事實- &uom-data; -如此巧妙地遵循實體格式,我懷疑它確實是一個實體,而您只是缺少定義它的部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM