.NET中是否存在JAXB的等效庫?我正試圖將我得到的XML轉換爲.NET類。我有XSD,但不知道如何將接收到的XML轉換爲具體的類?我使用XSD tool從架構中生成一個類,但是我想將我在運行時收到的XML轉換爲可以在代碼中使用的對象。.NET JAXB等效?
我已經看到線程here處理這個,但我的查詢是 - 我想創建的對象包含我在XML中接收的數據(即字段值必須填充)。
.NET中是否存在JAXB的等效庫?我正試圖將我得到的XML轉換爲.NET類。我有XSD,但不知道如何將接收到的XML轉換爲具體的類?我使用XSD tool從架構中生成一個類,但是我想將我在運行時收到的XML轉換爲可以在代碼中使用的對象。.NET JAXB等效?
我已經看到線程here處理這個,但我的查詢是 - 我想創建的對象包含我在XML中接收的數據(即字段值必須填充)。
這是一種更好的方式,更接近我一直在尋找:
static public string serializeObject(ProductPriceLines objecteToSerialize)
{
System.Xml.Serialization.XmlSerializer mySerializer = new System.Xml.Serialization.XmlSerializer(typeof(ProductPriceLines));
System.IO.MemoryStream t = new System.IO.MemoryStream();
mySerializer.Serialize(t, objecteToSerialize);
UTF8Encoding utf = new UTF8Encoding();
string strbytes = utf.GetString(t.ToArray());
return strbytes;
}
您可以使用xsd.exe生成類,然後在您的代碼中使用XmlSerializer
來填充類。例如,如果XSD.EXE創建一個名爲類Foo
你可以寫:
Foo someFoo;
using (var stream = new FileStream("foo.xml", FileMode.Open))
{
var serializer = new XmlSerializer(typeof(Foo));
someFoo = serializer.Deserialize(stream);
}
不是說你錯了,只是好奇爲什麼這個解決方案比Mike Two更好。 +1,一旦你迴應。 – JagWire 2013-09-16 18:05:58
您的問題要求XML =>對象。你的回答是用另一種方式來做的:object => XML。 – ViToni 2015-02-04 11:21:12