当前位置:  开发笔记 > 编程语言 > 正文

在XML Literals中使用字符串

如何解决《在XMLLiterals中使用字符串》经验,为你挑选了1个好方法。

我是一个C#开发人员,他在VB6编写的第一个VB代码中摸索着,所以如果我问一个相当明显的问题,请原谅我.

我决定尝试使用XML Literals为我生成一些XML代码,而不是使用XMLDocument

我有两个问题,第二个问题是由于我无法找出第一个问题而解决的问题.

1:理想的解决方案

我有一个ElementName字典,ElementValue我的KeyValue对我循环,希望动态生成值,但下面的语法死了可怕的死亡

Dim xConnections As XElement        
For Each connection As Connection In connections.AsList
    For Each kvp As KeyValuePair(Of String, String) In connection.DecompiledElements
        xConnections =  <<%= kvp.Key %>><%= kvp.Value %><\<%=kvp.Key %>>  
    Next
Next

我对T4语法(<%=%>语法)的模糊记忆能够处理更复杂的操作(而不是直接赋值给<%=)和'Response.Write'这样的对象来写输出,但是我不记得细节了.

2:Cludgy解决方法

相反,我想到构建一个StringBuilder对象并将其.ToString分配给XElement,但是也因转换错误而失败.

我更愿意在上面的例子中继续使用我的键值对概念,因为我觉得上面的例子2中的字符串在一起非常讨厌,如果相反,我真的应该回到使用XMLDocument.

任何想法或帮助非常感谢



1> CoderDennis..:

VB.NET XML Literals非常强大,但最常添加一些LINQ使它们真的很棒.这段代码应该完全符合您的要求.

Dim Elements = New Dictionary(Of String, String)
Elements.Add("Key1", "Value1")
Elements.Add("Key2", "Value2")
Elements.Add("Key3", "Value3")

Dim xConnections = 
                       <%= From elem In Elements _
                           Select <<%= elem.Key %>><%= elem.Value %> %>
                   

空结束标记是vb编译器正确构造一个xml元素所需的全部内容,该元素的名称是从<%= %>块内的值生成的.

调用xConnections.ToString呈现以下内容:


    Value1
    Value2
    Value3

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有