如何将变量插入到xml文字注释中

时间:2014-03-29 20:10:17

标签: xml vb.net

我在vb中使用xml文字。我想将一个变量(在运行时派生)插入到注释中,例如;

 Dim vtldMessageBoxes =
            <?xml version="1.0" encoding="UTF-8"?>
            <!--Information about messageboxes. Do not delete this file unless <%= My.Application.Info.Title %> has been deleted. -->
                <Users>
                    <username><%= Environment.UserName %>
                    </username>
                </Users>

如果我运行此代码,则应用程序标题不会出现在注释中。简单的问题,是否可以在运行时将变量嵌入到xml文字注释中,如果是这样的话?

由于

1 个答案:

答案 0 :(得分:3)

你绝对是对的,你不能在XML文字的注释中嵌入表达式。这是因为用于表达式的转义字符是有效的注释字符。 XML comment literal documentation明确地将其调出:

  

您不能在XML注释文字中使用嵌入式表达式   因为嵌入式表达式分隔符是有效的XML注释   内容。

要解决此问题,您只需将注释添加到XML文字创建的XDocument

Dim vtldMessageBoxes =
   <?xml version="1.0" encoding="UTF-8"?>
   <Users>
       <username><%= Environment.UserName %>
       </username>
   </Users>

Dim fullComment = String.Format("Information about messageboxes. Do not delete this file unless {0} has been deleted.", My.Application.Info.Title)

vtldMessageBoxes.AddFirst(New XComment(fullComment))
MessageBox.Show(vtldMessageBoxes.ToString())