生成XML文档时如何插入元素计数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成XML文档时如何插入元素计数相关的知识,希望对你有一定的参考价值。

我正在尝试从CSV生成XML文档。如何将元素编号插入xml。因此,例如:如果CSV文件中有10条消息,则每条消息都会得到一个引用CSV文件中序列的数字。我以为有某种方式可以引用范围变量的索引,但是不确定如何使用LINQ或其他方式进行引用。谢谢!

        LoadCSV();
        if (_loadedCSV == null)
            return;

        XElement xmlFile = new XElement("Root",
            from str in _loadedCSV
            let fields = str.Split(',')
            select new XElement("Track",
                new XAttribute("Message Number", <<ELEMENT NUMBER>>),
                new XElement("Date", fields[0]),
                new XElement("Time", fields[1]),
                new XElement("Message", fields[2])));
答案

您可以对元素和索引Select使用reference重载。不幸的是,它仅在LINQ方法语法中可用,而在LINQ查询一中不可用:

    LoadCSV();
    if (_loadedCSV == null)
        return;

    XElement xmlFile = new XElement("Root",
        (from str in _loadedCSV
        select str.Split(','))
        .Select((fields,index) => new XElement("Track",
            new XAttribute("Message Number", (index+1).ToString()),
            new XElement("Date", fields[0]),
            new XElement("Time", fields[1]),
            new XElement("Message", fields[2]))));

以上是关于生成XML文档时如何插入元素计数的主要内容,如果未能解决你的问题,请参考以下文章

[ jquery 文档处理 insertBefore(content) before(content|fn) ] 此方法用于把所有匹配的元素插入到另一个指定的元素元素集合的前面,实现外部插入(代码片段

如何在文本中添加/插入 xml 节点

Spring Rest 文档。片段生成时 UTF-8 中间字节无效 [重复]

KDoc:插入代码片段

Crystal Report xml文件生成

在 Visual Studio 2010 C++ 中为 /// 生成 XML 文档注释