如何使用LINQ to XML输出"到XML文件

时间:2015-01-10 01:38:56

标签: c# xml linq linq-to-xml

我正在进行一些XML解析,我希望能够拥有一个如下所示的元素:

<PostBuildEvent>
   copy &quot;$(BPL_OUTPUT)\$(OUTPUTFILENAME)&quot; &quot;$(QUICKSET_INSTALL)&quot;  
 </PostBuildEvent>

我正在使用.NET XDocument类,调用XDocument.Save()方法。

此PostBuildEvent标记的值存储在常量变量中,如下所示:

public const string PostBuildEventScript = 
  "copy &quot;$(BPL_OUTPUT)\\$(OUTPUTFILENAME)&quot; &quot;$(QUICKSET_INSTALL)&quot;";

我想将此变量的值复制到此XML元素,但打印到XML文档的内容是:

<PostBuildEvent>
copy &amp;quot;$(BPL_OUTPUT)\$(OUTPUTFILENAME)&amp;quot; &amp;quot;$(QUICKSET_INSTALL)&amp;quot;
</PostBuildEvent>

如你所见,有一个额外的放大器;我不想要的。我也尝试对变量进行硬编码,如:

public const string PostBuildEventScript = 
         "copy \"$(BPL_OUTPUT)\\$(OUTPUTFILENAME)\" \"$(QUICKSET_INSTALL)\"";

但结果是:

<PostBuildEvent>
     copy "$(BPL_OUTPUT)\$(OUTPUTFILENAME)" "$(QUICKSET_INSTALL)"
</PostBuildEvent>

但正如你所看到的那样,那些是实际的双引号,我想要“&amp; quot”。

我该如何处理这个问题?

1 个答案:

答案 0 :(得分:1)

您应该逃避&;

&#38;quot&#59;

您可以阅读此Article,以便更多地转义xml中的特殊字符。