什麼是解析XML等的最佳方式:最優雅的方式來解析XML數據和處理自定義的數組元素的值在C#
<?xml version=""1.0"" encoding=""utf-8"" ?>
<shapeTemplate>
<vertex_contours>
<vertex_contour>
<data>1 2 3 4 5 ... </data>
</vertex_contour>
...
</vertex_contours>
</shapeTemplate>
我的直覺告訴我,我應該用C#反序列化和使用XmlSerializer例如:
[Serializable]
[XmlRoot("shapeTemplate")]
public class ShapeTemplate
{
[XmlArray("vertex_contours")]
[XmlArrayItem("vertex_contour", typeof(VertexContour))]
public VertexContour[] VertexContours { get; set; }
}
但後來我意識到XmlSerializer的不能只是分析和<數據>轉換成IEnumerable的<INT>
所以我想建議的方法是處理這種情況的。最初我使用XElement.Parse(...),但我希望能有比這更優雅的解決方案。
雖然這是事實,'XmlSerializer'不容序列化/反序列化從/成'的IEnumerable'你可以實現'IXmlSerializable'接口自我和讀/寫數據。有關詳細信息,請參閱https://www.codeproject.com/Articles/43237/How-to-Implement-IXmlSerializable-Correctly。 –
HimBromBeere
確實IXmlSerializable做我在找什麼,現在唯一的問題是這種方法比使用Linq到Xml更好還是更差... – zman
獲取數組項目是複雜的,因爲您沒有XML中每個項目的標記。因此你需要自己解析它。你可以爲每件商品添加標籤嗎? – KernelMode