Mam xml który może mieć różne i niewiadome root'y, namespace'y (RandomRoot10 xmlns="www.random2077.xsd"), czy nazwy pól (RandomElement101)
<RandomRoot10 xmlns="www.random2077.xsd" time="2021-02-01T20:06:44.411+01:00" randomBool="1" code="10" name="Random Category">
<RandomElement101 id="1" Value="00" text="random text 1" />
<RandomElement101 id="2" Value="01" text="random text 2" />
<RandomElement101 id="3" Value="02" text="random text 3"/>
<RandomElement101 id="4" Value="03" text="random text 4" />
<RandomElement101 id="5" Value="04" text="random text 5"/>
</RandomRoot10>
I nie wiem jak klasę uniwersalną zrobić (a raczej deserializacje dla takiego xml), jedyne co wiem to że ID to int, Value to string itp.
Próbowałem tak (dla pojedynczego RandomElementu jak na razie) ale dalej krzyczy przy tym xmlns :
XmlDocument doc = new XmlDocument();
doc.LoadXml(text); // xml w stringu here
var tags = doc.GetElementsByTagName("RandomElement101"); // ??
var st = outer.Item(0).OuterXml;
using (TextReader textReader = new StringReader(st))
{
using (XmlTextReader reader = new XmlTextReader(textReader))
{
//reader.Namespaces = false;
XmlSerializer serializer = new XmlSerializer(typeof(RandomClass));
var obj = (RandomClass)serializer.Deserialize(reader); // Exception
}
}
Exception przy Deserialize :
There is an error in XML document (1, 2), bo dalej xmlns widzi nawet dla pojedynczego wiersza :
<randomelement101 id="1" text="random text 1" value="00" />Umie ktoś lepiej w te xmle ?