C# 如果有两个相同的节点,如何将文件xml转换为文本?
我有一个这样的XML文件C# 如果有两个相同的节点,如何将文件xml转换为文本?,c#,xml,C#,Xml,我有一个这样的XML文件 <SellingCode> <LastUpdated>2016-01-05T08:36:53+00:00</LastUpdated> <SellingCodeID>5045460018689</SellingCodeID> <SellingCodeID>103018090008</SellingCodeID> <ProductID>1030180900</Pro
<SellingCode>
<LastUpdated>2016-01-05T08:36:53+00:00</LastUpdated>
<SellingCodeID>5045460018689</SellingCodeID>
<SellingCodeID>103018090008</SellingCodeID>
<ProductID>1030180900</ProductID>
</SellingCode>
你们知道我是如何在c#中实现它的吗?LINQ to XML将适合你们
var document = XDocument.Load("file.xml");
var array = document.Descendants("COL").Select(x => (int) x).ToArray();
反序列化到以下类,然后迭代/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;
}
}
}
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace=”“,IsNullable=false)]
公共类销售代码
{
private System.DateTime lastUpdatedField;
私人ulong[]SellingCodedField;
私人生产领域;
///
public System.DateTime上次更新
{
得到
{
返回此.lastUpdatedField;
}
设置
{
this.lastUpdatedField=值;
}
}
///
[System.Xml.Serialization.XmlElementAttribute(“SellingCodeID”)]
公共ulong[]销售代码ID
{
得到
{
返回此.sellingcodeifield;
}
设置
{
this.sellingCodeIDField=值;
}
}
///
公共uint产品ID
{
得到
{
返回此.productIDField;
}
设置
{
this.productIDField=值;
}
}
}
如果您进行搜索,可能会重复和其他许多内容。首先,您的XML格式不正确。使用重复组@MurrayFoxcroft为什么这不是有效的Xml?在没有任何容器元素的情况下直接序列化列表元素是绝对有效的。@HimBromBeere-您是正确的。我被纠正了。
[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;
}
}
}