Guten Abend,
ich Parse mit XDocument einen XML-String um einzelne Werte auszulesen.
Jedoch kommt immer nach dem Durchlaufen ein Fehler, dass > Fehlermeldung:
Ungültige Daten auf Stammebene. Zeile 1, Position 1 . Ich finde aber den Fehler im XML nicht.
public List<string> ConvertXMLtoTable(List<string> miiData)
{
try
{
int j = 0;
List<string> data = new List<string>();
for (int i = 4; i <= miiData.Count(); i += 4)
{
XDocument xmlString = XDocument.Parse(miiData[i]);
foreach(XElement element1 in xmlString.Root
.Elements()
.Elements()
.Elements())
{
data.Add(element1.Element("BATCH").Value);
}
}
return data;
}
catch (Exception ex)
{
logging.CreateLog(ex.ToString());
return null;
}
}
XML-String sieht so aus:
<?xml version="1.0" encoding="UTF-8"?><Z_FB_SAPME_GOODSMVT>
<TABLES>
<LT_COMPONENTS>
<item>
<BATCH>XDTHP</BATCH>
<ENTRY_QNT>318.176</ENTRY_QNT>
<MATERIAL>000000000000019122</MATERIAL>
<MOVE_TYPE>261</MOVE_TYPE>
<RESERV_NO>0015786363</RESERV_NO>
<RES_ITEM>0001</RES_ITEM>
<ORDERID>000001212724</ORDERID>
<PLANT>1000</PLANT>
<STGE_LOC>EG03</STGE_LOC>
<ENTRY_UOM>KGM</ENTRY_UOM>
</item>
</LT_COMPONENTS>
</TABLES>
</Z_FB_SAPME_GOODSMVT>
Wo ist hier den der Fehler?
Gruß Freakontour
Füg nach der XML Definition einen Zeilenumbruch ein.
Ich hatte mal mit XmlDocument ein ähnliches Problem, hier mag scheinbar die Verarbeitung nicht, dass direkt Daten nach der Xml Definition kommen.
<?xml version="1.0" encoding="UTF-8"?>
<Z_FB_SAPME_GOODSMVT>
<TABLES>
<LT_COMPONENTS>
<item>
<BATCH>XDTHP</BATCH>
<ENTRY_QNT>318.176</ENTRY_QNT>
<MATERIAL>000000000000019122</MATERIAL>
<MOVE_TYPE>261</MOVE_TYPE>
<RESERV_NO>0015786363</RESERV_NO>
<RES_ITEM>0001</RES_ITEM>
<ORDERID>000001212724</ORDERID>
<PLANT>1000</PLANT>
<STGE_LOC>EG03</STGE_LOC>
<ENTRY_UOM>KGM</ENTRY_UOM>
</item>
</LT_COMPONENTS>
</TABLES>
</Z_FB_SAPME_GOODSMVT>
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Das XML Root Element muss in der neuen Zeile beginnen, wenn nicht alle Inhalte Inline sind.
XDocument verhält sich hier korrekt.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Perfekt, danke für die Hilfe. Hat mein Problem gelöst.
Gruß freakontour