我在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文字注释中,如果是这样的话?
由于
答案 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())