属性の名前を削除できません値clsProduct from my xml私はList<clsValues>
のために[XmlElement(ElementName = "Values", Type = typeof(clsValues)]
を使ってみましたが、私に必要な結果は得られませんでした。C#シリアル化結果から属性名を削除
以下の結果が表示されます。私のシリアライゼーションクラスの
パーツ:
[Serializable]
public class clsProduct
{
[XmlAttribute("ID")]
public string ID { get; set; }
[XmlAttribute("UserTypeID")]
public string UserTypeID { get; set; }
[XmlArrayItem(ElementName = "Values", Type = typeof(clsValues))]
public List<clsValues> Values { get; set; }
}
[Serializable]
public class clsValues
{
[XmlElement(ElementName = "Value")]
public clsValue Value { get; set; }
[XmlArray(ElementName = "MultiValue"),
XmlArrayItem(ElementName = "Value")]
public List<clsValue> MultiValue { get; set; }
}
[Serializable]
public class clsValue
{
[XmlAttribute("AttributeID")]
public string AttributeID { get; set; }
[XmlText]
public string Value { get; set; }
}
私の現在のXML結果:
<Product ID="PROD-01111010" UserTypeID="Product">
<Values>
<Values>
<Value AttributeID="ATTR-7196">201607280755</Value>
</Values>
<Values>
<Value AttributeID="ATTR-6236">PTFE 125 + 25% GF, Platte</Value>
</Values>
<Values>
<MultiValue>
<Value>PLATTE</Value>
<Value>LUBRIFLON 225</Value>
<Value>PLAQUE</Value>
<Value>LUBRIFLON 22</Value>
</MultiValue>
</Values>
</Values>
</Product>
結果は私が必要:
<Product ID="PROD-01111010" UserTypeID="Product">
<Values>
<Value AttributeID="ATTR-7196">201607280755</Value>
<Value AttributeID="ATTR-6236">PTFE 125 + 25% GF, Platte</Value>
<MultiValue>
<Value>PLATTE</Value>
<Value>LUBRIFLON 225</Value>
<Value>PLAQUE</Value>
<Value>LUBRIFLON 22</Value>
</MultiValue>
</Values>
</Product>
は、誰かが助けることはできますか?
おかげ
編集:
<Product ID="PROD-01111010" UserTypeID="Product">
<Values>
<Value AttributeID="ATTR-7196">201607280755</Value>
</Values>
<Values>
<Value AttributeID="ATTR-6236">PTFE 125 + 25% GF, Platte</Value>
</Values>
<Values>
<MultiValue>
<Value>PLATTE</Value>
<Value>LUBRIFLON 225</Value>
<Value>PLAQUE</Value>
<Value>LUBRIFLON 22</Value>
</MultiValue>
</Values>
</Product>
「cls」接頭辞の使用を中止し、通常の.NET命名規則に従うのをやめるのはとても良い時期です。 –
@JonSkeet私は通常、プレフィックスを使用しません。私はそれを拡張しているプロジェクトを作成せず、1つのアプリケーションで2つの命名規則を使用したくありません。 – remarkies
私はあなたの同僚に、命名規則に従うことを提案したいと思います。スタックオーバーフローに関する質問を投稿していることを忘れないでください。同じ正確な問題を示している限り、正確なコードである必要はありません。これは、読者のための注意散漫を減らすために、より簡単で従来のものにすることができるということです。 –