如果我有 2 个相同的节点,如何将文件 xml 转换为文本

本文关键字:文件 xml 文本 转换 节点 如果 | 更新日期: 2023-09-27 18:36:56

>我有一个这样的XML文件,

<SellingCode>
<LastUpdated>2016-01-05T08:36:53+00:00</LastUpdated>
<SellingCodeID>5045460018689</SellingCodeID>
<SellingCodeID>103018090008</SellingCodeID>
<ProductID>1030180900</ProductID>
</SellingCode>

如何生成这样的数据

2016-01-05T08:36:53+00:00 | 5045460018689 | 1030180900
2016-01-05T08:36:53+00:00 | 103018090008  | 1030180900

你们知道我如何在 c# 中做到这一点吗?

如果我有 2 个相同的节点,如何将文件 xml 转换为文本

反序列化到以下类,然后迭代/Lync 以获取所需的格式。

[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public class SellingCode
{
    private System.DateTime lastUpdatedField;
    private ulong[] sellingCodeIDField;
    private uint productIDField;
    /// <remarks/>
    public System.DateTime LastUpdated
    {
        get
        {
            return this.lastUpdatedField;
        }
        set
        {
            this.lastUpdatedField = value;
        }
    }
    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute("SellingCodeID")]
    public ulong[] SellingCodeID
    {
        get
        {
            return this.sellingCodeIDField;
        }
        set
        {
            this.sellingCodeIDField = value;
        }
    }
    /// <remarks/>
    public uint ProductID
    {
        get
        {
            return this.productIDField;
        }
        set
        {
            this.productIDField = value;
        }
    }
}

LINQ to XML 将为您服务。

var document = XDocument.Load("file.xml");
var array = document.Descendants("COL").Select(x => (int) x).ToArray();